<?xml version="1.0" encoding="UTF-8"?>
<Domain
  xmlns="http://www.soti.net/connect-definitions"
  xmlns:xi="http://www.w3.org/2001/XInclude"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.soti.net/connect-definitions ../../../Soti.IoT.ProtocolDefinitions/Soti.IoT.ProtocolDefinitions.Parser/protocol.xsd">
  <Imports>
    <xi:include href="./base-rest-protocol.xml" parse="xml" />
  </Imports>

  <Messages>
    <Message id="ADRFIDChangeSettings">
      <Object id="Resource">
        <Object id="device">
          <Object id="general">
            <Segment id="name" type="string" />
          </Object>
          <Object id="network">
            <Segment id="ipAddress" type="ipv4" />
            <Segment id="subnetMask" type="ipv4" />
            <Segment id="gatewayAddress" type="ipv4" />
            <Segment id="dnsAddressOne" type="string" />
          </Object>
          <Segment id="antenna1_txPower" type="float" />
          <Segment id="antenna1_rxSensitivity" type="string" />
          <Segment id="antenna2_txPower" type="float" />
          <Segment id="antenna2_rxSensitivity" type="string" />
          <Segment id="antenna3_txPower" type="float" />
          <Segment id="antenna3_rxSensitivity" type="string" />
          <Segment id="antenna4_txPower" type="float" />
          <Segment id="antenna4_rxSensitivity" type="string" />
          <Segment id="antenna5_txPower" type="float" />
          <Segment id="antenna5_rxSensitivity" type="string" />
          <Segment id="antenna6_txPower" type="float" />
          <Segment id="antenna6_rxSensitivity" type="string" />
          <Segment id="antenna7_txPower" type="float" />
          <Segment id="antenna7_rxSensitivity" type="string" />
          <Segment id="antenna8_txPower" type="float" />
          <Segment id="antenna8_rxSensitivity" type="string" />
          <Segment id="gpo1_state" type="boolean" />
          <Segment id="gpo2_state" type="boolean" />
          <Segment id="gpo3_state" type="boolean" />
          <Segment id="gpo4_state" type="boolean" />
          <Object id="rfid">
            <Object id="inventory">
              <Segment id="tagPopulationEstimate" type="integer" />
              <Segment id="searchMode" type="string" />
              <Segment id="session" type="integer" />
              <Segment id="filterEnabled" type="boolean" />
              <Segment id="filterBank" type="string" />
              <Segment id="filterMask" type="string" />
              <Segment id="filterAction" type="string" />
            </Object>
            <Object id="startTrigger">
              <Segment id="isEnabled" type="boolean" />
              <Segment id="triggerType" type="string" />
              <Segment id="gpiPortNumber" type="integer" />
              <Segment id="gpiPortState" type="boolean" />
              <Segment id="periodicOﬀset" type="integer" />
              <Segment id="periodicStart" type="integer" />
            </Object>
            <Object id="stopTrigger">
              <Segment id="isEnabled" type="boolean" />
              <Segment id="triggerType" type="string" />
              <Segment id="gpiPortNumber" type="integer" />
              <Segment id="gpiPortState" type="boolean" />
              <Segment id="duration" type="integer" />
            </Object>
          </Object>
          <Object id="mqtt">
            <Segment id="brokerAddress" type="string" />
            <Segment id="brokerPort" type="integer" />
            <Segment id="qos" type="string" />
            <Segment id="useAuthentication" type="boolean" />
            <Segment id="loginName" type="string" />
            <Segment id="loginPassword" type="string" />
            <Segment id="serverCert" type="filestore" />
            <Segment id="clientCert" type="filestore" />
            <Segment id="clientKey" type="filestore" />
          </Object>
          <Segment id="antennas" type="string" />
          <Segment id="gpi" type="string" />
        </Object>
      </Object>
    </Message>

    <Message id="ADRFIDGetDevice" />

    <Message id="ADRFIDDeviceState">
      <Object id="Resource">
        <Object id="device">
          <Object id="general">
            <DataPointReference id="name" path="base-module#device-name" />
            <DataPointReference id="model" path="base-module#model-id" />
            <DataPointReference id="serial" path="GenericDeviceState#serial-number" />
            <DataPointReference id="firmwareVersion" path="base-module#version" />
            <DataPointReference id="manufacturer" path="base-module#manufacturer" />
            <DataPointReference id="numberOfAntennas" path="Avery_Dennison-General#device-general-numberOfAntennas" />
            <DataPointReference id="numberOfGpi" path="Avery_Dennison-General#device-general-numberOfGpi" />
            <DataPointReference id="numberOfGpo" path="Avery_Dennison-General#device-general-numberOfGpo" />
          </Object>
          <Object id="network">
            <DataPointReference id="macAddress" path="NetworkInfo#mac" />
            <DataPointReference id="ipAddress" path="NetworkInfo#ipaddress" />
            <DataPointReference id="subnetMask" path="NetworkInfo#subnet-mask" />
            <DataPointReference id="gatewayAddress" path="NetworkInfo#gateway" />
            <DataPointReference id="dnsAddressOne" path="NetworkInfo#dns-server" />
          </Object>
          <DataPointReference id="antennaIndexes" path="AD-antennaIndexes#device-antennaIndexes" />
          <DataPointReference id="gpiIndexes" path="AD-gpiIndexes#device-gpiIndexes" />
          <DataPointReference id="gpoIndexes" path="AD-gpoIndexes#device-gpoIndexes" />
          <DataPointReference id="antenna1_isConnected" path="AD-Antennas#AD-antenna1_isConnected" />
          <DataPointReference id="antenna1_txPower" path="AD-Antennas#AD-antenna1_txPower" />
          <DataPointReference id="antenna1_rxSensitivity" path="AD-Antennas#AD-antenna1_rxSensitivity" />
          <DataPointReference id="antenna2_isConnected" path="AD-Antennas#AD-antenna2_isConnected" />
          <DataPointReference id="antenna2_txPower" path="AD-Antennas#AD-antenna2_txPower" />
          <DataPointReference id="antenna2_rxSensitivity" path="AD-Antennas#AD-antenna2_rxSensitivity" />
          <DataPointReference id="antenna3_isConnected" path="AD-Antennas#AD-antenna3_isConnected" />
          <DataPointReference id="antenna3_txPower" path="AD-Antennas#AD-antenna3_txPower" />
          <DataPointReference id="antenna3_rxSensitivity" path="AD-Antennas#AD-antenna3_rxSensitivity" />
          <DataPointReference id="antenna4_isConnected" path="AD-Antennas#AD-antenna4_isConnected" />
          <DataPointReference id="antenna4_txPower" path="AD-Antennas#AD-antenna4_txPower" />
          <DataPointReference id="antenna4_rxSensitivity" path="AD-Antennas#AD-antenna4_rxSensitivity" />
          <DataPointReference id="antenna5_isConnected" path="AD-Antennas#AD-antenna5_isConnected" />
          <DataPointReference id="antenna5_txPower" path="AD-Antennas#AD-antenna5_txPower" />
          <DataPointReference id="antenna5_rxSensitivity" path="AD-Antennas#AD-antenna5_rxSensitivity" />
          <DataPointReference id="antenna6_isConnected" path="AD-Antennas#AD-antenna6_isConnected" />
          <DataPointReference id="antenna6_txPower" path="AD-Antennas#AD-antenna6_txPower" />
          <DataPointReference id="antenna6_rxSensitivity" path="AD-Antennas#AD-antenna6_rxSensitivity" />
          <DataPointReference id="antenna7_isConnected" path="AD-Antennas#AD-antenna7_isConnected" />
          <DataPointReference id="antenna7_txPower" path="AD-Antennas#AD-antenna7_txPower" />
          <DataPointReference id="antenna7_rxSensitivity" path="AD-Antennas#AD-antenna7_rxSensitivity" />
          <DataPointReference id="antenna8_isConnected" path="AD-Antennas#AD-antenna8_isConnected" />
          <DataPointReference id="antenna8_txPower" path="AD-Antennas#AD-antenna8_txPower" />
          <DataPointReference id="antenna8_rxSensitivity" path="AD-Antennas#AD-antenna8_rxSensitivity" />
          <DataPointReference id="gpi1_state" path="AD-gpi#AD-gpi1_state" />
          <DataPointReference id="gpi2_state" path="AD-gpi#AD-gpi2_state" />
          <DataPointReference id="gpi3_state" path="AD-gpi#AD-gpi3_state" />
          <DataPointReference id="gpi4_state" path="AD-gpi#AD-gpi4_state" />
          <DataPointReference id="gpo1_state" path="AD-gpo#AD-gpo1_state" />
          <DataPointReference id="gpo2_state" path="AD-gpo#AD-gpo2_state" />
          <DataPointReference id="gpo3_state" path="AD-gpo#AD-gpo3_state" />
          <DataPointReference id="gpo4_state" path="AD-gpo#AD-gpo4_state" />
          <Object id="rfid">
            <Object id="inventory">
              <DataPointReference id="isSingulating" path="AD-RFID#device-rfid-inventory-isSingulating" />
              <DataPointReference id="tagPopulationEstimate" path="AD-RFID#device-rfid-inventory-tagPopulationEstimate" />
              <DataPointReference id="searchMode" path="AD-RFID#device-rfid-inventory-searchMode" />
              <DataPointReference id="session" path="AD-RFID#device-rfid-inventory-session" />
              <DataPointReference id="filterEnabled" path="AD-RFID#device-rfid-inventory-filterEnabled" />
              <DataPointReference id="filterBank" path="AD-RFID#device-rfid-inventory-filterBank" />
              <DataPointReference id="filterMask" path="AD-RFID#device-rfid-inventory-filterMask" />
              <DataPointReference id="filterAction" path="AD-RFID#device-rfid-inventory-filterAction" />
            </Object>
            <Object id="startTrigger">
              <DataPointReference id="isEnabled" path="AD-RFID#device-rfid-startTrigger-isEnabled" />
              <DataPointReference id="triggerType" path="AD-RFID#device-rfid-startTrigger-triggerType" />
              <DataPointReference id="gpiPortNumber" path="AD-RFID#device-rfid-startTrigger-gpiPortNumber" />
              <DataPointReference id="gpiPortState" path="AD-RFID#device-rfid-startTrigger-gpiPortState" />
              <DataPointReference id="periodicOﬀset" path="AD-RFID#device-rfid-startTrigger-periodicOﬀset" />
              <DataPointReference id="periodicStart" path="AD-RFID#device-rfid-startTrigger-periodicStart" />
            </Object>
            <Object id="stopTrigger">
              <DataPointReference id="isEnabled" path="AD-RFID#device-rfid-stopTrigger-isEnabled" />
              <DataPointReference id="triggerType" path="AD-RFID#device-rfid-stopTrigger-triggerType" />
              <DataPointReference id="gpiPortNumber" path="AD-RFID#device-rfid-stopTrigger-gpiPortNumber" />
              <DataPointReference id="gpiPortState" path="AD-RFID#device-rfid-stopTrigger-gpiPortState" />
              <DataPointReference id="duration" path="AD-RFID#device-rfid-stopTrigger-duration" />
            </Object>
          </Object>
          <Object id="mqtt">
            <DataPointReference id="brokerAddress" path="MQTT-Settings#mqtt_server_ip_addr" />
            <DataPointReference id="brokerPort" path="MQTT-Settings#mqtt_port_number" />
            <DataPointReference id="qos" path="AD-MQTT#device-mqtt-qos" />
            <DataPointReference id="useAuthentication" path="AD-MQTT#device-mqtt-useAuthentication" />
            <DataPointReference id="loginName" path="MQTT-Settings#mqtt_user_name" />
            <DataPointReference id="serverCert" path="AD-MQTT#device-mqtt-serverCert" />
            <DataPointReference id="clientCert" path="AD-MQTT#device-mqtt-clientCert" />
            <DataPointReference id="clientKey" path="AD-MQTT#device-mqtt-clientKey" />
          </Object>
        </Object>
      </Object>
    </Message>

    <Message id="ADReboot" />

    <Message id="ADRFIDAlert">
      <Object id="Resource">
        <DataPointReference id="Id" path="AD-Alert#Id" />
        <DataPointReference id="Description" path="AD-Alert#Description" />
        <DataPointReference id="Type" path="AD-Alert#Type" />
        <DataPointReference id="Priority" path="AD-Alert#Priority" />
        <DataPointReference id="Timestamp" path="AD-Alert#Timestamp" />
      </Object>

    </Message>

    <Message id="GetADPrinterState" />
    <Message id="ADPrinterState">
      <Object id="Resource">
        <Object id="general">
          <DataPointReference id="printerModel" path="base-module#model-id" />
          <DataPointReference id="serialNumber" path="GenericDeviceState#serial-number" />
          <DataPointReference id="firmwareVersion" path="base-module#version" />
          <DataPointReference id="pcBoardID" path="AD-Printer-General#general-pcBoardID" />
          <DataPointReference id="rfidEncoderVersion " path="AD-Printer-General#general-rfidEncoderVersion " />
          <DataPointReference id="rfidVerifierVersion  " path="AD-Printer-General#general-rfidVerifierVersion  " />
          <DataPointReference id="inches" path="AD-Printer-General#general-inches" />
          <DataPointReference id="highEnergyInches" path="AD-Printer-General#general-highEnergyInches" />
          <DataPointReference id="cuts" path="AD-Printer-General#general-cuts" />
          <DataPointReference id="voltage" path="AD-Printer-General#general-voltage" />
          <DataPointReference id="printhead" path="AD-Printer-General#general-printhead" />
          <DataPointReference id="badDotCount" path="AD-Printer-General#general-badDotCount" />
          <DataPointReference id="parserStatus" path="AD-Printer-General#general-parserStatus" />
          <DataPointReference id="changesPending" path="AD-Printer-General#general-changesPending" />
          <Object id="options">
            <DataPointReference id="barcodeVerifier" path="AD-Printer-General#options-barcodeVerifier" />
            <DataPointReference id="batteryMode" path="AD-Printer-General#general-options-batteryMode" />
            <DataPointReference id="cutter" path="AD-Printer-General#general-options-cutter" />
            <DataPointReference id="linerTakeup" path="AD-Printer-General#general-options-linerTakeup" />
            <DataPointReference id="onDemandSensor" path="AD-Printer-General#general-options-onDemandSensor" />
            <DataPointReference id="rfid" path="general-options-rfidModule#general-options-rfid" />
            <DataPointReference id="wireless" path="AD-Printer-General#general-options-wireless" />
          </Object>
        </Object>
        <Object id="status">
          <Object id="network">
            <DataPointReference id="fqdn" path="generic-fqdn#fqdn" />
            <DataPointReference id="macAddress" path="NetworkInfo#mac" />
            <DataPointReference id="interface" path="AD-Printer-Network#status-network-interface" />
            <DataPointReference id="bootMethod" path="AD-Printer-Network#settings-network-bootMethod" />
            <DataPointReference id="ipAddress" path="NetworkInfo#ipaddress" />
            <DataPointReference id="subnetMask" path="NetworkInfo#subnet-mask" />
            <DataPointReference id="gatewayAddress" path="NetworkInfo#gateway" />
            <DataPointReference id="enableAutoDNS" path="AD-Printer-Network#settings-network-enableAutoDNS" />
            <DataPointReference id="dnsServer" path="NetworkInfo#dns-server" />
          </Object>
          <Object id="wireless">
            <DataPointReference id="radio" path="AD-Printer-Wifi#status-wireless-radio" />
            <DataPointReference id="signalStrength" path="AD-Printer-Wifi#status-wireless-signalStrength" />
            <DataPointReference id="regulatoryDomain" path="AD-Printer-Wifi#status-wireless-regulatoryDomain" />
            <DataPointReference id="ssid" path="AD-Printer-Wifi#ssid" />
            <DataPointReference id="mode" path="AD-Printer-Wifi#status-wireless-mode" />
            <DataPointReference id="roamHysteresis" path="AD-Printer-Wifi#settings-wireless-roamHysteresis" />
            <DataPointReference id="security" path="AD-Printer-Wifi#settings-wireless-security" />
            <DataPointReference id="eapMethod" path="AD-Printer-Wifi#settings-wireless-eapMethod" />
            <DataPointReference id="authProtocol" path="AD-Printer-Wifi#settings-wireless-authProtocol" />
            <DataPointReference id="userIdentity" path="AD-Printer-Wifi#settings-wireless-userIdentity" />
            <Object id="tlsFiles">
              <Object id="rootCert">
                <DataPointReference id="installed" path="AD-Printer-Wifi#settings-wireless-rootCert-Installed" />
                <DataPointReference id="thumbprint" path="AD-Printer-Wifi#settings-wireless-rootCert-thumbprint" />
                <DataPointReference id="subject" path="AD-Printer-Wifi#settings-wireless-rootCert-subject" />
                <DataPointReference id="altSubject" path="AD-Printer-Wifi#settings-wireless-rootCert-altSubject" />
                <DataPointReference id="issuer" path="AD-Printer-Wifi#settings-wireless-rootCert-issuer" />
                <DataPointReference id="validFrom" path="AD-Printer-Wifi#settings-wireless-rootCert-validFrom" />
                <DataPointReference id="validTo" path="AD-Printer-Wifi#settings-wireless-rootCert-validTo" />
              </Object>
              <Object id="clientCert">
                <DataPointReference id="installed" path="AD-Printer-Wifi#settings-wireless-clientCert-Installed" />
                <DataPointReference id="thumbprint" path="AD-Printer-Wifi#settings-wireless-clientCert-thumbprint" />
                <DataPointReference id="subject" path="AD-Printer-Wifi#settings-wireless-clientCert-subject" />
                <DataPointReference id="altSubject" path="AD-Printer-Wifi#settings-wireless-clientCert-altSubject" />
                <DataPointReference id="issuer" path="AD-Printer-Wifi#settings-wireless-clientCert-issuer" />
                <DataPointReference id="validFrom" path="AD-Printer-Wifi#settings-wireless-clientCert-validFrom" />
                <DataPointReference id="validTo" path="AD-Printer-Wifi#settings-wireless-clientCert-validTo" />
              </Object>
              <Object id="clientPrivateKey">
                <DataPointReference id="installed" path="AD-Printer-Wifi#settings-wireless-privateKey-Installed" />
                <DataPointReference id="size" path="AD-Printer-Wifi#settings-wireless-privateKey-size" />
                <DataPointReference id="md5Hash" path="AD-Printer-Wifi#settings-wireless-privateKey-hash" />
              </Object>
            </Object>
          </Object>
          <Object id="mqttBroker">
            <DataPointReference id="address" path="MQTT-Settings#mqtt_server_ip_addr" />
            <DataPointReference id="port" path="MQTT-Settings#mqtt_port_number" />
            <DataPointReference id="sotiTenantID" path="MQTT-Settings#tenant_id" />
            <DataPointReference id="username" path="MQTT-Settings#mqtt_user_name" />
            <DataPointReference id="enableTLS" path="AD-Printer-Mqtt#settings-mqttBroker-enableTLS" />
            <DataPointReference id="brokerCertificateCommonName" path="AD-Printer-Mqtt#settings-mqttBroker-brokerCertificateCommonName" />
            <Object id="tlsFiles">
              <Object id="rootCert">
                <DataPointReference id="installed" path="AD-Printer-Mqtt#settings-mqttBroker-rootCert-Installed" />
                <DataPointReference id="thumbprint" path="AD-Printer-Mqtt#settings-mqttBroker-rootCert-thumbprint" />
                <DataPointReference id="subject" path="AD-Printer-Mqtt#settings-mqttBroker-rootCert-subject" />
                <DataPointReference id="altSubject" path="AD-Printer-Mqtt#settings-mqttBroker-rootCert-altSubject" />
                <DataPointReference id="issuer" path="AD-Printer-Mqtt#settings-mqttBroker-rootCert-issuer" />
                <DataPointReference id="validFrom" path="AD-Printer-Mqtt#settings-mqttBroker-rootCert-validFrom" />
                <DataPointReference id="validTo" path="AD-Printer-Mqtt#settings-mqttBroker-rootCert-validTo" />
              </Object>
              <Object id="clientCert">
                <DataPointReference id="installed" path="AD-Printer-Mqtt#settings-mqttBroker-clientCert-Installed" />
                <DataPointReference id="thumbprint" path="AD-Printer-Mqtt#settings-mqttBroker-clientCert-thumbprint" />
                <DataPointReference id="subject" path="AD-Printer-Mqtt#settings-mqttBroker-clientCert-subject" />
                <DataPointReference id="altSubject" path="AD-Printer-Mqtt#settings-mqttBroker-clientCert-altSubject" />
                <DataPointReference id="issuer" path="AD-Printer-Mqtt#settings-mqttBroker-clientCert-issuer" />
                <DataPointReference id="validFrom" path="AD-Printer-Mqtt#settings-mqttBroker-clientCert-validFrom" />
                <DataPointReference id="validTo" path="AD-Printer-Mqtt#settings-mqttBroker-clientCert-validTo" />
              </Object>
              <Object id="clientPrivateKey">
                <DataPointReference id="installed" path="AD-Printer-Mqtt#settings-mqttBroker-privateKey-Installed" />
                <DataPointReference id="size" path="AD-Printer-Mqtt#settings-mqttBroker-privateKey-size" />
                <DataPointReference id="md5Hash" path="AD-Printer-Mqtt#settings-mqttBroker-privateKey-hash" />
              </Object>
            </Object>
          </Object>
        </Object>
        <Object id="changesPending">
          <Object id="network">
            <DataPointReference id="bootMethod" path="AD-ChangesPending#ChangesPending-bootMethod" />
            <DataPointReference id="hostname" path="AD-ChangesPending#ChangesPending-hostname" />
            <DataPointReference id="domainName" path="AD-ChangesPending#ChangesPending-domainName" />
            <DataPointReference id="ipAddress" path="AD-ChangesPending#ChangesPending-ipAddress" />
            <DataPointReference id="subnetMask" path="AD-ChangesPending#ChangesPending-subnetMask" />
            <DataPointReference id="gatewayAddress" path="AD-ChangesPending#ChangesPending-gatewayAddress" />
            <DataPointReference id="enableAutoDNS" path="AD-ChangesPending#ChangesPending-enableAutoDNS" />
            <DataPointReference id="dnsServer" path="AD-ChangesPending#ChangesPending-dnsServer" />
          </Object>
          <Object id="wireless">
            <DataPointReference id="ssid" path="AD-ChangesPending#ChangesPending-ssid" />
            <DataPointReference id="roamHysteresis" path="AD-ChangesPending#ChangesPending-roamHysteresis" />
            <DataPointReference id="security" path="AD-ChangesPending#ChangesPending-security" />
            <DataPointReference id="eapMethod" path="AD-ChangesPending#ChangesPending-eapMethod" />
            <DataPointReference id="authProtocol" path="AD-ChangesPending#ChangesPending-authProtocol" />
            <DataPointReference id="userIdentity" path="AD-ChangesPending#ChangesPending-userIdentity" />
            <Object id="tlsFiles">
              <DataPointReference id="rootCert" path="AD-ChangesPending#ChangesPending-Wifi-tlsFiles-rootCert" />
              <DataPointReference id="clientCert" path="AD-ChangesPending#ChangesPending-Wifi-tlsFiles-clientCert" />
              <DataPointReference id="clientPrivateKey" path="AD-ChangesPending#ChangesPending-Wifi-tlsFiles-clientPrivateKey" />
            </Object>
          </Object>
          <Object id="mqttBroker">
            <DataPointReference id="address" path="AD-ChangesPending#ChangesPending-MqttBroker-address" />
            <DataPointReference id="port" path="AD-ChangesPending#ChangesPending-MqttBroker-port" />
            <DataPointReference id="sotiTenantID" path="AD-ChangesPending#ChangesPending-MqttBroker-tenantID" />
            <DataPointReference id="username" path="AD-ChangesPending#ChangesPending-MqttBroker-username" />
            <DataPointReference id="enableTLS" path="AD-ChangesPending#ChangesPending-MqttBroker-enableTLS" />
            <DataPointReference id="brokerCertificateCommonName" path="AD-ChangesPending#ChangesPending-MqttBroker-brokerCertificateCommonName" />
            <Object id="tlsFiles">
              <DataPointReference id="rootCert" path="AD-ChangesPending#ChangesPending-MqttBroker-tlsFiles-rootCert" />
              <DataPointReference id="clientCert" path="AD-ChangesPending#ChangesPending-MqttBroker-tlsFiles-clientCert" />
              <DataPointReference id="clientPrivateKey" path="AD-ChangesPending#ChangesPending-MqttBroker-tlsFiles-clientPrivateKey" />
            </Object>
          </Object>
        </Object>
        <Object id="settings">
          <Object id="network">
            <DataPointReference id="bootMethod" path="AD-Pending-Settings#pending-network-bootMethod" />
            <DataPointReference id="hostname" path="AD-Pending-Settings#pending-network-hostname" />
            <DataPointReference id="domainName" path="AD-Pending-Settings#pending-network-domainName" />
            <DataPointReference id="ipAddress" path="AD-Pending-Settings#pending-ipaddress" />
            <DataPointReference id="subnetMask" path="AD-Pending-Settings#pending-subnetmask" />
            <DataPointReference id="gatewayAddress" path="AD-Pending-Settings#pending-gateway" />
            <DataPointReference id="enableAutoDNS" path="AD-Pending-Settings#pending-network-enableAutoDNS" />
            <DataPointReference id="dnsServer" path="AD-Pending-Settings#pending-dnsserver" />
          </Object>
          <Object id="wireless">
            <DataPointReference id="ssid" path="AD-Pending-Settings#pending-ssid" />
            <DataPointReference id="roamHysteresis" path="AD-Pending-Settings#pending-wireless-roamHysteresis" />
            <DataPointReference id="security" path="AD-Pending-Settings#pending-settings-wireless-security" />
            <DataPointReference id="eapMethod" path="AD-Pending-Settings#pending-settings-wireless-eapMethod" />
            <DataPointReference id="authProtocol" path="AD-Pending-Settings#pending-settings-wireless-authProtocol" />
            <DataPointReference id="userIdentity" path="AD-Pending-Settings#pending-settings-wireless-userIdentity" />
            <Object id="tlsFiles">
              <Object id="rootCert">
                <DataPointReference id="installed" path="AD-Pending-Settings#pending-settings-wireless-rootCert-Installed" />
                <DataPointReference id="thumbprint" path="AD-Pending-Settings#pending-settings-wireless-rootCert-thumbprint" />
                <DataPointReference id="subject" path="AD-Pending-Settings#pending-settings-wireless-rootCert-subject" />
                <DataPointReference id="altSubject" path="AD-Pending-Settings#pending-settings-wireless-rootCert-altSubject" />
                <DataPointReference id="issuer" path="AD-Pending-Settings#pending-settings-wireless-rootCert-issuer" />
                <DataPointReference id="validFrom" path="AD-Pending-Settings#pending-settings-wireless-rootCert-validFrom" />
                <DataPointReference id="validTo" path="AD-Pending-Settings#pending-settings-wireless-rootCert-validTo" />
              </Object>
              <Object id="clientCert">
                <DataPointReference id="installed" path="AD-Pending-Settings#pending-settings-wireless-clientCert-Installed" />
                <DataPointReference id="thumbprint" path="AD-Pending-Settings#pending-settings-wireless-clientCert-thumbprint" />
                <DataPointReference id="subject" path="AD-Pending-Settings#pending-settings-wireless-clientCert-subject" />
                <DataPointReference id="altSubject" path="AD-Pending-Settings#pending-settings-wireless-clientCert-altSubject" />
                <DataPointReference id="issuer" path="AD-Pending-Settings#pending-settings-wireless-clientCert-issuer" />
                <DataPointReference id="validFrom" path="AD-Pending-Settings#pending-settings-wireless-clientCert-validFrom" />
                <DataPointReference id="validTo" path="AD-Pending-Settings#pending-settings-wireless-clientCert-validTo" />
              </Object>
              <Object id="clientPrivateKey">
                <DataPointReference id="installed" path="AD-Pending-Settings#pending-settings-wireless-privateKey-Installed" />
                <DataPointReference id="size" path="AD-Pending-Settings#pending-settings-wireless-privateKey-size" />
                <DataPointReference id="md5Hash" path="AD-Pending-Settings#pending-settings-wireless-privateKey-hash" />
              </Object>
            </Object>
          </Object>
          <Object id="mqttBroker">
            <DataPointReference id="address" path="AD-Pending-Settings#pending-settings-mqttBroker-mqtt_server_ip_addr" />
            <DataPointReference id="port" path="AD-Pending-Settings#pending-settings-mqttBroker-mqtt_port_number" />
            <DataPointReference id="sotiTenantID" path="AD-Pending-Settings#pending-settings-mqttBroker-tenant_id" />
            <DataPointReference id="username" path="AD-Pending-Settings#pending-settings-mqttBroker-mqtt_user_name" />
            <DataPointReference id="enableTLS" path="AD-Pending-Settings#pending-settings-mqttBroker-enableTLS" />
            <DataPointReference id="brokerCertificateCommonName" path="AD-Pending-Settings#pending-settings-mqttBroker-brokerCertificateCommonName" />
            <Object id="tlsFiles">
              <Object id="rootCert">
                <DataPointReference id="installed" path="AD-Pending-Settings#pending-settings-mqttBroker-rootCert-Installed" />
                <DataPointReference id="thumbprint" path="AD-Pending-Settings#pending-settings-mqttBroker-rootCert-thumbprint" />
                <DataPointReference id="subject" path="AD-Pending-Settings#pending-settings-mqttBroker-rootCert-subject" />
                <DataPointReference id="altSubject" path="AD-Pending-Settings#pending-settings-mqttBroker-rootCert-altSubject" />
                <DataPointReference id="issuer" path="AD-Pending-Settings#pending-settings-mqttBroker-rootCert-issuer" />
                <DataPointReference id="validFrom" path="AD-Pending-Settings#pending-settings-mqttBroker-rootCert-validFrom" />
                <DataPointReference id="validTo" path="AD-Pending-Settings#pending-settings-mqttBroker-rootCert-validTo" />
              </Object>
              <Object id="clientCert">
                <DataPointReference id="installed" path="AD-Pending-Settings#pending-settings-mqttBroker-clientCert-Installed" />
                <DataPointReference id="thumbprint" path="AD-Pending-Settings#pending-settings-mqttBroker-clientCert-thumbprint" />
                <DataPointReference id="subject" path="AD-Pending-Settings#pending-settings-mqttBroker-clientCert-subject" />
                <DataPointReference id="altSubject" path="AD-Pending-Settings#pending-settings-mqttBroker-clientCert-altSubject" />
                <DataPointReference id="issuer" path="AD-Pending-Settings#pending-settings-mqttBroker-clientCert-issuer" />
                <DataPointReference id="validFrom" path="AD-Pending-Settings#pending-settings-mqttBroker-clientCert-validFrom" />
                <DataPointReference id="validTo" path="AD-Pending-Settings#pending-settings-mqttBroker-clientCert-validTo" />
              </Object>
              <Object id="clientPrivateKey">
                <DataPointReference id="installed" path="AD-Pending-Settings#pending-settings-mqttBroker-privateKey-Installed" />
                <DataPointReference id="size" path="AD-Pending-Settings#pending-settings-mqttBroker-privateKey-size" />
                <DataPointReference id="md5Hash" path="AD-Pending-Settings#pending-settings-mqttBroker-privateKey-hash" />
              </Object>
            </Object>
          </Object>
          <Object id="ntp">
            <DataPointReference id="enable" path="AD-NTP-Settings#settings-enable" />
            <DataPointReference id="timeServer" path="AD-NTP-Settings#settings-timeServer" />
            <DataPointReference id="timeOffset" path="AD-NTP-Settings#settings-timeOffset" />
          </Object>
          <Object id="rawQueue">
            <DataPointReference id="port" path="AD-RawQueue-Settings#settings-port" />
            <DataPointReference id="keepalive" path="AD-RawQueue-Settings#settings-keepalive" />
            <DataPointReference id="timeout" path="AD-RawQueue-Settings#settings-timeout" />
          </Object>
        </Object>
      </Object>
    </Message>
    <Message id="ChangeADPrinterSettings">
      <Object id="Resource">
        <Object id="settings">
          <Object id="network">
            <Segment id="bootMethod" type="string" />
            <Segment id="hostname" type="string" />
            <Segment id="domainName" type="string" />
            <Segment id="ipAddress" type="ipv4" />
            <Segment id="subnetMask" type="ipv4" />
            <Segment id="gatewayAddress" type="ipv4" />
            <Segment id="enableAutoDNS" type="boolean" />
            <Segment id="dnsServer" type="string" />
          </Object>
          <Object id="wireless">
            <Segment id="ssid" type="string" />
            <Segment id="roamHysteresis" type="integer" />
            <Segment id="security" type="string" />
            <Segment id="eapMethod" type="string" />
            <Segment id="authProtocol" type="string" />
            <Segment id="userIdentity" type="string" />
            <Segment id="userPassword" type="string" />
            <Segment id="preSharedKey" type="string" />
            <Object id="tlsFiles">
              <Object id="rootCert">
                <Segment id="installed" type="boolean" />
                <Segment id="thumbprint" type="string" />
                <Segment id="subject" type="string" />
                <Segment id="altSubject" type="string" />
                <Segment id="issuer" type="string" />
                <Segment id="validFrom" type="string" />
                <Segment id="validTo" type="string" />
              </Object>
              <Object id="clientCert">
                <Segment id="installed" type="boolean" />
                <Segment id="thumbprint" type="string" />
                <Segment id="subject" type="string" />
                <Segment id="altSubject" type="string" />
                <Segment id="issuer" type="string" />
                <Segment id="validFrom" type="string" />
                <Segment id="validTo" type="string" />
              </Object>
              <Object id="clientPrivateKey">
                <Segment id="installed" type="boolean" />
                <Segment id="size" type="string" />
                <Segment id="md5Hash" type="string" />
              </Object>
            </Object>
          </Object>
          <Object id="mqttBroker">
            <Segment id="address" type="string" />
            <Segment id="port" type="integer" />
            <Segment id="sotiTenantID" type="string" />
            <Segment id="username" type="string" />
            <Segment id="password" type="string" />
            <Segment id="enableTLS" type="boolean" />
            <Segment id="brokerCertificateCommonName" type="string" />

            <Object id="tlsFiles">
              <Object id="rootCert">
                <Segment id="installed" type="boolean" />
                <Segment id="thumbprint" type="string" />
                <Segment id="subject" type="string" />
                <Segment id="altSubject" type="string" />
                <Segment id="issuer" type="string" />
                <Segment id="validFrom" type="string" />
                <Segment id="validTo" type="string" />
              </Object>
              <Object id="clientCert">
                <Segment id="installed" type="boolean" />
                <Segment id="thumbprint" type="string" />
                <Segment id="subject" type="string" />
                <Segment id="altSubject" type="string" />
                <Segment id="issuer" type="string" />
                <Segment id="validFrom" type="string" />
                <Segment id="validTo" type="string" />
              </Object>
              <Object id="clientPrivateKey">
                <Segment id="installed" type="boolean" />
                <Segment id="size" type="string" />
                <Segment id="md5Hash" type="string" />
              </Object>
            </Object>

          </Object>
          <Object id="ntp">
            <Segment id="enable" type="boolean" />
            <Segment id="timeServer" type="string" />
            <Segment id="timeOffset" type="integer" />
          </Object>
          <Object id="rawQueue">
            <Segment id="port" type="integer" />
            <Segment id="keepalive" type="integer" />
            <Segment id="timeout" type="integer" />
          </Object>
        </Object>
      </Object>
    </Message>
    <Message id="ADPrinterAlert">
      <Object id="Resource">
        <DataPointReference id="id" path="AD-Printer-Alert#Id" />
        <DataPointReference id="description" path="AD-Printer-Alert#Description" />
        <DataPointReference id="type" path="AD-Printer-Alert#Type" />
        <DataPointReference id="priority" path="AD-Printer-Alert#Priority" />
        <DataPointReference id="timestamp" path="AD-Printer-Alert#Timestamp" />
      </Object>
    </Message>
    <Message id="InstallADPrinterPackageFromUrl">
      <Object id="Resource">
        <Segment id="Url" type="uri" />
      </Object>
    </Message>
    <Message id="InstallADPrinterPackageFromFSURL">
      <Object id="Resource">
        <Segment id="File" type="filestore" />
      </Object>
    </Message>
    <Message id="InstallADPrinterPackage">
      <Object id="Resource">
        <Segment id="File" type="file" />
      </Object>
    </Message>

    <Message id="InstallADPrinterCertsFromFSURL">
      <Object id="Resource">
        <Segment id="mqtt_ca_cert" type="filestore" />
        <Segment id="mqtt_client_cert" type="filestore" />
        <Segment id="mqtt_client_key" type="filestore" />
        <Segment id="mqtt_client_key_password" type="string" />
        <Segment id="wireless_ca_cert" type="filestore" />
        <Segment id="wireless_client_cert" type="filestore" />
        <Segment id="wireless_client_key" type="filestore" />
        <Segment id="wireless_client_key_password" type="string" />
      </Object>
    </Message>

    <Message id="InstallADPrinterCertsFromURI">
      <Object id="Resource">
        <Segment id="mqtt_ca_cert" type="uri" />
        <Segment id="mqtt_client_cert" type="uri" />
        <Segment id="mqtt_client_key" type="uri" />
        <Segment id="mqtt_client_key_password" type="string" />
        <Segment id="wireless_ca_cert" type="uri" />
        <Segment id="wireless_client_cert" type="uri" />
        <Segment id="wireless_client_key" type="uri" />
        <Segment id="wireless_client_key_password" type="string" />
      </Object>
    </Message>


    <Message id="ADPrinterFeed" />
    <Message id="ADPrinterTestLabel" />
    <Message id="ADPrinterReboot" />
    <Message id="ADPrinterApplyChanges" />

  </Messages>

  <Transactions>

    <Transaction id="AveDenCheckIn" semanticid="base-module#checkin">
      <Blocks>
        <Block id="1">
          <SendMessage id="ADRFIDGetDevice" />
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="ADRFIDDeviceState" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="AveDenChangeDeviceName" semanticid="Avery_Dennison-General#general-settings">
      <Blocks>
        <Block id="1">
          <SendMessage id="ADRFIDChangeSettings">
            <UserAssignment actionArgName="Device Name" path="Resource/device/general/name" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="ADRFIDDeviceState" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="AveDenChangeNetworkSettings" semanticid="AD-Network#network-settings">
      <Blocks>
        <Block id="1">
          <SendMessage id="ADRFIDChangeSettings">
            <UserAssignment actionArgName="IP Address" path="Resource/device/network/ipAddress" />
            <UserAssignment actionArgName="Subnet Mask" path="Resource/device/network/subnetMask" />
            <UserAssignment actionArgName="Gateway Address" path="Resource/device/network/subnetMask" />
            <UserAssignment actionArgName="DNS Address" path="Resource/device/network/dnsAddressOne" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="ADRFIDDeviceState" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="AveDenChangeInventorySettings" semanticid="AD-RFID#rfid-inventory">
      <Blocks>
        <Block id="1">
          <SendMessage id="ADRFIDChangeSettings">
            <UserAssignment actionArgName="Tag Population Estimate" path="Resource/device/rfid/inventory/tagPopulationEstimate" />
            <UserAssignment actionArgName="Search Mode" path="Resource/device/rfid/inventory/searchMode" />
            <UserAssignment actionArgName="Session" path="Resource/device/rfid/inventory/session" />
            <UserAssignment actionArgName="Enabled Filter" path="Resource/device/rfid/inventory/filterEnabled" />
            <UserAssignment actionArgName="Filter Bank" path="Resource/device/rfid/inventory/filterBank" />
            <UserAssignment actionArgName="Filter Mask" path="Resource/device/rfid/inventory/filterMask" />
            <UserAssignment actionArgName="Filter Action" path="Resource/device/rfid/inventory/filterAction" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="ADRFIDDeviceState" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="AveDenChangeStartTriggerSettings" semanticid="AD-RFID#rfid-startTrigger">
      <Blocks>
        <Block id="1">
          <SendMessage id="ADRFIDChangeSettings">
            <UserAssignment actionArgName="Enabled" path="Resource/device/rfid/startTrigger/isEnabled" />
            <UserAssignment actionArgName="Trigger Type" path="Resource/device/rfid/startTrigger/triggerType" />
            <UserAssignment actionArgName="GPI Port Number" path="Resource/device/rfid/startTrigger/gpiPortNumber" />
            <UserAssignment actionArgName="GPI Port State" path="Resource/device/rfid/startTrigger/gpiPortState" />
            <UserAssignment actionArgName="Periodic Oﬀset" path="Resource/device/rfid/startTrigger/periodicOﬀset" />
            <UserAssignment actionArgName="Periodic Start" path="Resource/device/rfid/startTrigger/periodicStart" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="ADRFIDDeviceState" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="AveDenChangeStopTriggerSettings" semanticid="AD-RFID#rfid-stopTrigger">
      <Blocks>
        <Block id="1">
          <SendMessage id="ADRFIDChangeSettings">
            <UserAssignment actionArgName="Enabled" path="Resource/device/rfid/stopTrigger/isEnabled" />
            <UserAssignment actionArgName="Trigger Type" path="Resource/device/rfid/stopTrigger/triggerType" />
            <UserAssignment actionArgName="GPI Port Number" path="Resource/device/rfid/stopTrigger/gpiPortNumber" />
            <UserAssignment actionArgName="GPI Port State" path="Resource/device/rfid/stopTrigger/gpiPortState" />
            <UserAssignment actionArgName="Duration" path="Resource/device/rfid/stopTrigger/duration" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="ADRFIDDeviceState" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="AveDenChangeMQTTSettings" semanticid="AD-MQTT#mqtt-setting">
      <Blocks>
        <Block id="1">
          <SendMessage id="ADRFIDChangeSettings">
            <UserAssignment actionArgName="Broker Address" path="Resource/device/mqtt/brokerAddress" />
            <UserAssignment actionArgName="Port Number" path="Resource/device/mqtt/brokerPort" />
            <UserAssignment actionArgName="Qos" path="Resource/device/mqtt/qos" />
            <UserAssignment actionArgName="Use Authentication" path="Resource/device/mqtt/useAuthentication" />
            <UserAssignment actionArgName="Login Name" path="Resource/device/mqtt/loginName" />
            <UserAssignment actionArgName="Login Password" path="Resource/device/mqtt/loginPassword" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="ADRFIDDeviceState" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="AveDenChangeAntennasSettings" semanticid="AD-Antennas#Change-Antennas-Settings">
      <Blocks>
        <Block id="1">
          <SendMessage id="ADRFIDChangeSettings">
            <UserAssignment actionArgName="Antenna 1 TX Power" path="Resource/device/antenna1_txPower" />
            <UserAssignment actionArgName="Antenna 1 RX Sensitivity" path="Resource/device/antenna1_rxSensitivity" />
            <UserAssignment actionArgName="Antenna 2 TX Power" path="Resource/device/antenna2_txPower" />
            <UserAssignment actionArgName="Antenna 2 RX Sensitivity" path="Resource/device/antenna2_rxSensitivity" />
            <UserAssignment actionArgName="Antenna 3 TX Power" path="Resource/device/antenna3_txPower" />
            <UserAssignment actionArgName="Antenna 3 RX Sensitivity" path="Resource/device/antenna3_rxSensitivity" />
            <UserAssignment actionArgName="Antenna 4 TX Power" path="Resource/device/antenna4_txPower" />
            <UserAssignment actionArgName="Antenna 4 RX Sensitivity" path="Resource/device/antenna4_rxSensitivity" />
            <UserAssignment actionArgName="Antenna 5 TX Power" path="Resource/device/antenna5_txPower" />
            <UserAssignment actionArgName="Antenna 5 RX Sensitivity" path="Resource/device/antenna5_rxSensitivity" />
            <UserAssignment actionArgName="Antenna 6 TX Power" path="Resource/device/antenna6_txPower" />
            <UserAssignment actionArgName="Antenna 6 RX Sensitivity" path="Resource/device/antenna6_rxSensitivity" />
            <UserAssignment actionArgName="Antenna 7 TX Power" path="Resource/device/antenna7_txPower" />
            <UserAssignment actionArgName="Antenna 7 RX Sensitivity" path="Resource/device/antenna7_rxSensitivity" />
            <UserAssignment actionArgName="Antenna 8 TX Power" path="Resource/device/antenna8_txPower" />
            <UserAssignment actionArgName="Antenna 8 RX Sensitivity" path="Resource/device/antenna8_rxSensitivity" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="ADRFIDDeviceState" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="AveDenChangGPOSettings" semanticid="AD-gpo#change-gpo-settings">
      <Blocks>
        <Block id="1">
          <SendMessage id="ADRFIDChangeSettings">
            <UserAssignment actionArgName="GPO 1 State" path="Resource/device/gpo1_state" />
            <UserAssignment actionArgName="GPO 2 State" path="Resource/device/gpo2_state" />
            <UserAssignment actionArgName="GPO 3 State" path="Resource/device/gpo3_state" />
            <UserAssignment actionArgName="GPO 4 State" path="Resource/device/gpo4_state" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="ADRFIDDeviceState" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="AveDenAlert" semanticid="AD-Alert#alert">
      <Blocks>
        <Block id="1">
          <ReceiveMessage id="ADRFIDAlert" />
          <BlockAction>
            <Terminate success="true" />
          </BlockAction>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="AveDenReboot" semanticid="Avery_Dennison-General#Ad-reboot">
      <Blocks>
        <Block id="1">
          <SendMessage id="ADReboot" />
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="Success" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="ADPrinterCheckIn" semanticid="base-module#checkin">
      <Blocks>
        <Block id="1">
          <SendMessage id="GetADPrinterState" />
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="ADPrinterState" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="ADPrinterChangeNetworkSettings" semanticid="AD-Printer-Network#ADprinterChangeNetworkSettings">
      <Blocks>
        <Block id="1">
          <SendMessage id="ChangeADPrinterSettings">
            <UserAssignment actionArgName="Boot Method" path="Resource/settings/network/bootMethod" />
            <UserAssignment actionArgName="Host Name" path="Resource/settings/network/hostname" />
            <UserAssignment actionArgName="Domain Name" path="Resource/settings/network/domainName" />
            <UserAssignment actionArgName="IP Address" path="Resource/settings/network/ipAddress" />
            <UserAssignment actionArgName="Subnet Mask" path="Resource/settings/network/subnetMask" />
            <UserAssignment actionArgName="Gateway Address" path="Resource/settings/network/gatewayAddress" />
            <UserAssignment actionArgName="Enable Automatic DNS" path="Resource/settings/network/enableAutoDNS" />
            <UserAssignment actionArgName="DNS Server" path="Resource/settings/network/dnsServer" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="ADPrinterState" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="ADPrinterChangeWifiSettings" semanticid="AD-Printer-Wifi#ADprinterChangeWifiSettings">
      <Blocks>
        <Block id="1">
          <SendMessage id="ChangeADPrinterSettings">
            <UserAssignment actionArgName="SSID" path="Resource/settings/wireless/ssid" />
            <UserAssignment actionArgName="Pre-Shared Key" path="Resource/settings/wireless/preSharedKey" />
            <UserAssignment actionArgName="Roam Hysteresis" path="Resource/settings/wireless/roamHysteresis" />
            <UserAssignment actionArgName="Security" path="Resource/settings/wireless/security" />
            <UserAssignment actionArgName="EAP Method" path="Resource/settings/wireless/eapMethod" />
            <UserAssignment actionArgName="Authentication Protocol" path="Resource/settings/wireless/authProtocol" />
            <UserAssignment actionArgName="User Identity" path="Resource/settings/wireless/userIdentity" />
            <UserAssignment actionArgName="User Password" path="Resource/settings/wireless/userPassword" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="ADPrinterState" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="ADPrinterChangeMqttSettings" semanticid="AD-Printer-Mqtt#ADprinterChangeMqttSettings">
      <Blocks>
        <Block id="1">
          <SendMessage id="ChangeADPrinterSettings">
            <UserAssignment actionArgName="MQTT Server Address" path="Resource/settings/mqttBroker/address" />
            <UserAssignment actionArgName="MQTT Port" path="Resource/settings/mqttBroker/port" />
            <UserAssignment actionArgName="MQTT Tenant ID" path="Resource/settings/mqttBroker/sotiTenantID" />
            <UserAssignment actionArgName="MQTT Username" path="Resource/settings/mqttBroker/username" />
            <UserAssignment actionArgName="Password" path="Resource/settings/mqttBroker/password" />
            <UserAssignment actionArgName="Enable TLS" path="Resource/settings/mqttBroker/enableTLS" />
            <UserAssignment actionArgName="Broker Certificate Common Name" path="Resource/settings/mqttBroker/brokerCertificateCommonName" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="ADPrinterState" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="InstallADPrinterPackageFromURL" semanticid="AD-Printer-General#download-file-url">
      <Blocks>
        <Block id="1">
          <SendMessage id="InstallADPrinterPackageFromUrl">
            <UserAssignment actionArgName="Download Uri" path="Resource/Url" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="Success" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="InstallADPrinterFromFilestore" semanticid="Firmware-Download#download-file-filestore">
      <Blocks>
        <Block id="1">
          <SendMessage id="InstallADPrinterPackageFromFSURL">
            <UserAssignment actionArgName="File" path="Resource/File" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="Success" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="InstallMQTTCertificatesFromUrl" semanticid="AD-Printer-Mqtt#change-mqtt-certs-url" isMetaTransaction="true">
      <Blocks>
        <Block id="1">
          <SendMessage id="InstallADPrinterCertsFromURI">
            <UserAssignment actionArgName="CA Certificate" path="Resource/mqtt_ca_cert" />
            <UserAssignment actionArgName="Client Certificate" path="Resource/mqtt_client_cert" />
            <UserAssignment actionArgName="Client Private Key" path="Resource/mqtt_client_key" />
            <UserAssignment actionArgName="Client Private Key Password" path="Resource/mqtt_client_key_password" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="Success" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
      <AlertBlocks>
        <AlertBlock MessageId="ADPrinterAlert" timeoutAlertId="FirmwareDownloadTimeout" timeout="3600">
          <SuccessCase>
            <Enumeration>
              <Value>InstallationSuccess</Value>
            </Enumeration>
          </SuccessCase>
          <FailureCase>
            <Enumeration>
              <Value>InstallationFailed</Value>
            </Enumeration>
          </FailureCase>
        </AlertBlock>
      </AlertBlocks>
    </Transaction>

    <Transaction id="InstallMQTTCertificatesFromFSURL" semanticid="AD-Printer-Mqtt#change-mqtt-certs-filestore" isMetaTransaction="true">
      <Blocks>
        <Block id="1">
          <SendMessage id="InstallADPrinterCertsFromFSURL">
            <UserAssignment actionArgName="CA Certificate" path="Resource/mqtt_ca_cert" />
            <UserAssignment actionArgName="Client Certificate" path="Resource/mqtt_client_cert" />
            <UserAssignment actionArgName="Client Private Key" path="Resource/mqtt_client_key" />
            <UserAssignment actionArgName="Client Private Key Password" path="Resource/mqtt_client_key_password" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="Success" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
      <AlertBlocks>
        <AlertBlock MessageId="ADPrinterAlert" timeoutAlertId="MQTTCertificateDownloadTimeout" timeout="3600">
          <SuccessCase>
            <Enumeration>
              <Value>InstallationSuccess</Value>
            </Enumeration>
          </SuccessCase>
          <FailureCase>
            <Enumeration>
              <Value>InstallationFailed</Value>
            </Enumeration>
          </FailureCase>
        </AlertBlock>
      </AlertBlocks>
    </Transaction>

    <Transaction id="InstallWifiCertificatesFromUrl" semanticid="AD-Printer-Wifi#change-wifi-certs-url">
      <Blocks>
        <Block id="1">
          <SendMessage id="InstallADPrinterCertsFromURI">
            <UserAssignment actionArgName="CA Certificate" path="Resource/wireless_ca_cert" />
            <UserAssignment actionArgName="Client Certificate" path="Resource/wireless_client_cert" />
            <UserAssignment actionArgName="Client Private Key" path="Resource/wireless_client_key" />
            <UserAssignment actionArgName="Client Private Key Password" path="Resource/wireless_client_key_password" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="Success" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="InstallWifiCertificatesFromFSURL" semanticid="AD-Printer-Wifi#change-wifi-certs-filestore">
      <Blocks>
        <Block id="1">
          <SendMessage id="InstallADPrinterCertsFromFSURL">
            <UserAssignment actionArgName="CA Certificate" path="Resource/wireless_ca_cert" />
            <UserAssignment actionArgName="Client Certificate" path="Resource/wireless_client_cert" />
            <UserAssignment actionArgName="Client Private Key" path="Resource/wireless_client_key" />
            <UserAssignment actionArgName="Client Private Key Password" path="Resource/wireless_client_key_password" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="Success" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="InstallADPrinterPackage" semanticid="AD-Printer-General#upload-file">
      <Blocks>
        <Block id="1">
          <SendMessage id="InstallADPrinterPackage">
            <UserAssignment actionArgName="File" path="Resource/File" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="Success" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="ADPrinterFeed" semanticid="AD-Printer-General#ADprinter-feed">
      <Blocks>
        <Block id="1">
          <SendMessage id="ADPrinterFeed" />
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="Success" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="ADPrinterTestLabel" semanticid="AD-Printer-General#ADprint-test-label">
      <Blocks>
        <Block id="1">
          <SendMessage id="ADPrinterTestLabel" />
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="Success" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="ADPrinterReboot" semanticid="AD-Printer-General#ADprinter-reboot">
      <Blocks>
        <Block id="1">
          <SendMessage id="ADPrinterReboot" />
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="Success" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="ADPrinterApplyChanges" semanticid="AD-Printer-General#ADprinter-apply-changes">
      <Blocks>
        <Block id="1">
          <SendMessage id="ADPrinterApplyChanges" />
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="Success" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="ADPrinterChangeRawQueueSettings" semanticid="AD-RawQueue-Settings#ADChangeRawQueueSettings">
      <Blocks>
        <Block id="1">
          <SendMessage id="ChangeADPrinterSettings">
            <UserAssignment actionArgName="Port" path="Resource/settings/rawQueue/port" />
            <UserAssignment actionArgName="Keep Alive" path="Resource/settings/rawQueue/keepalive" />
            <UserAssignment actionArgName="Timeout" path="Resource/settings/rawQueue/timeout" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="ADPrinterState" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="ADPrinterChangeNTPSettings" semanticid="AD-NTP-Settings#ADChangeNTPSettings">
      <Blocks>
        <Block id="1">
          <SendMessage id="ChangeADPrinterSettings">
            <UserAssignment actionArgName="Enable NTP" path="Resource/settings/ntp/enable" />
            <UserAssignment actionArgName="Time Server Address" path="Resource/settings/ntp/timeServer" />
            <UserAssignment actionArgName="Time Offset" path="Resource/settings/ntp/timeOffset" />
          </SendMessage>
          <Switch>
            <SwitchOnMessage>
              <MessageCase>
                <ReceiveMessage id="ADPrinterState" />
                <BlockAction>
                  <Terminate success="true" />
                </BlockAction>
              </MessageCase>
              <MessageCase>
                <ReceiveMessage id="Error">
                  <VariableDefinition id="Resource" path="Resource" />
                </ReceiveMessage>
                <BlockAction>
                  <Terminate success="false">
                    <Log variableId="Resource" />
                  </Terminate>
                </BlockAction>
              </MessageCase>
            </SwitchOnMessage>
          </Switch>
        </Block>
      </Blocks>
    </Transaction>

    <Transaction id="ADPrinterAlert" semanticid="AD-Printer-Alert#alert">
      <Blocks>
        <Block id="1">
          <ReceiveMessage id="ADPrinterAlert" />
          <BlockAction>
            <Terminate success="true" />
          </BlockAction>
        </Block>
      </Blocks>
    </Transaction>

  </Transactions>


  <ProtocolDefinition id="E1138DF8-B607-4463-8D70-347F702FEE14" name="SOTI MQTT">
    <Protocol>
      <Transaction id="InitializeProtocol" hidden="true" />
      <Transaction id="Register" />
      <Transaction id="NewDevices" />
      <Transaction id="SearchNewDevices" instanceIdRequired="true" />
      <Transaction id="Unregister" instanceIdRequired="true" />
      <Transaction id="DeployCertificate" hidden="true" />
      <Transaction id="ActivateCertificate" hidden="true" />
      <Transaction id="CancelCertificateActivation" hidden="true" />
      <Transaction id="RemoteControlRequest" hidden="true" />
    </Protocol>

    <Devices>

      <Device id="mqtt-Avery_Dennison-ADRFID1">
        <ApiTypeId id="AVD@@ADRFID1@@2.4" />

        <Transaction id="DisconnectedNotification" />
        <Transaction id="AveDenCheckIn" />
        <Transaction id="AveDenChangeDeviceName" />
        <Transaction id="AveDenChangeNetworkSettings" />
        <Transaction id="AveDenChangeInventorySettings" />
        <Transaction id="AveDenChangeStartTriggerSettings" />
        <Transaction id="AveDenChangeStopTriggerSettings" />
        <Transaction id="AveDenChangeMQTTSettings" />
        <Transaction id="AveDenChangeAntennasSettings" />
        <Transaction id="AveDenChangGPOSettings" />
        <Transaction id="AveDenAlert" />
        <Transaction id="AveDenReboot" />

      </Device>

      <Device id="mqtt-AveryDennison-printer">
        <ApiTypeId id="AD@@ADTP1@@1.0" />
        <ApiTypeId id="AD@@ADTP2@@1.0" />

        <Transaction id="DisconnectedNotification" />
        <Transaction id="ADPrinterCheckIn" />
        <Transaction id="ADPrinterChangeNetworkSettings" />
        <Transaction id="ADPrinterChangeWifiSettings" />
        <Transaction id="InstallWifiCertificatesFromUrl" />
        <Transaction id="InstallWifiCertificatesFromFSURL" />
        <Transaction id="ADPrinterChangeMqttSettings" />
        <Transaction id="InstallMQTTCertificatesFromUrl" />
        <Transaction id="InstallMQTTCertificatesFromFSURL" />
        <Transaction id="InstallADPrinterPackageFromURL" />
        <Transaction id="InstallADPrinterFromFilestore" />
        <Transaction id="InstallADPrinterPackage" />
        <Transaction id="ADPrinterFeed" />
        <Transaction id="ADPrinterTestLabel" />
        <Transaction id="ADPrinterReboot" />
        <Transaction id="ADPrinterApplyChanges" />
        <Transaction id="ADPrinterAlert" />
        <Transaction id="ADPrinterChangeRawQueueSettings" />
        <Transaction id="ADPrinterChangeNTPSettings" />
      </Device>

    </Devices>
  </ProtocolDefinition>
</Domain>