Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

APIs

  • system.cirruslink.transmission.publish(mqttServerName, topic, payload, qos, retained) → void
    • Parameters
      • String mqttServerName
        • The name of the server connection to use in the MQTT Transmission Server configuration. This must match an existing server name in the configuration.
      • String topic
        • The MQTT topic to publish on. This must be a valid MQTT topic
      • byte[] payload
        • An array of bytes representing the MQTT payload
      • int qos
        • The MQTT 'Quality of Service' to use. This must be either 0, 1, or 2
      • boolean retained
        • Whether or not to publish this message with the retained flag set
    • Return Value
      • None
  • system.cirruslink.transmission.createConfig(type, props) → void
    • Parameters
      • String type
        • The type of configuration to create with valid options:

          • History Stores
          • Cert Files
          • Servers
          • Sets
          • Transmitters
          • Records
          • Files
      • Map props
        • Dictionary of properties making up the configuration with the following keys and datatypes:
          • History Stores
            • Id (long)

            • Name (str)

            • Enabled (bool)

            • TransmissionHistoryStoreType (str) "In-Memory" or "Disk-Backed"

            • EdgeNodeTagCapacity (int)

            • DeviceTagCapacity (int)

            • FlushQuantity (int)

            • FlushPeriod (long)

          • Cert Files
            • Id (long)

            • Name (str)

            • FileContents (str)

            • Description (str)

          • Servers
            • Id (long)

            • Name (str)

            • Url (str)

            • ServerSetId (str)

            • Username (str)

            • Password (str)

            • CaCertFileId (long)

            • ClientCertFileId (long)

            • ClientPrivateKeyFileId (long)

            • ClientKeyPassword (str)

            • HostnameVerification (bool)

            • ClientId (str)

            • KeepAlive (int)

            • RandomStartupDelay (str)

            • ReconnectDelay (long)

            • AutoReconnectRpcClient (bool)

            • DataFormatTypeWrapper (str) "Sparkplug_B_v1_0_Protobuf" or "Sparkplug_B_v1_0_JSON"

          • Sets
            • Id (long)

            • Name (str)

            • Description (str)

            • PrimaryHostId (str)

          • Transmitters
            • Id (long)

            • Name (str)

            • Enabled (bool)

            • TagProvider (str)

            • TagPath (str)

            • TagPacingPeriod (long)

            • ServerSetId (long)

            • DiscoveryDelay (long)

            • AliasedTags (bool)

            • CompressionTypeWrapper (long) "NONE" "DEFLATE" or "GZIP"

            • BlockCommands (bool)

            • ConvertUdts (bool)

            • PublishUdtDefinitions (bool)

            • OptimizeUdts (bool)

            • CacheBirthsEnabled (bool)

            • HistoryStoreId (long)

            • EnableStoreForwardByDefault (bool)

            • InOrderHistory (bool)

            • GroupId (str)

            • EdgeNodeId (str)

            • DeviceId (str)

            • FilteredProperties (str)

            • RebirthDebounceDelay (long)

          • Records
            • Id (long)

            • TagProvider (str)

            • TagFolderPath (str)

            • RecordType (long)

            • GroupId (str)

            • EdgeNodeId (str)

            • DeviceId (str)

            • OverridePublishTag (bool)

            • PublishTagPath (str)

          • Files
            • Id (long)

            • TagProvider (str)

            • TagFolderPath (str)

            • EnableAutoPublishing (bool)

            • FileScanRate (int)

            • GroupId (str)

            • EdgeNodeId (str)

            • DeviceId (str)

            • MessageSize (int)

            • MessagePacingPeriod (int)

            • MessageAckTimeout (int)

    • Return Value
      • None
  • system.cirruslink.transmission.readConfig(type) → List
    • Parameters
      • String type
        • The type of configuration to read with valid options:

          • History Stores
          • General
          • Cert Files
          • Servers
          • Sets
          • Transmitters
          • Records
          • Files
    • Return Value
      • A List of Dictionaries of properties making up the configurations with the following keys and datatypes:
        • History Stores
          • Id (long)

          • Name (str)

          • Enabled (bool)

          • TransmissionHistoryStoreType (str) "In-Memory" or "Disk-Backed"

          • EdgeNodeTagCapacity (int)

          • DeviceTagCapacity (int)

          • FlushQuantity (int)

          • FlushPeriod (long)

        • General
          • Id (long)

          • Enabled (bool)

        • Cert Files
          • Id (long)

          • Name (str)

          • FileContents (str)

          • Description (str)

        • Servers
          • Id (long)

          • Name (str)

          • Url (str)

          • ServerSetId (str)

          • Username (str)

          • Password (str)

          • CaCertFileId (long)

          • ClientCertFileId (long)

          • ClientPrivateKeyFileId (long)

          • ClientKeyPassword (str)

          • HostnameVerification (bool)

          • ClientId (str)

          • KeepAlive (int)

          • RandomStartupDelay (str)

          • ReconnectDelay (long)

          • AutoReconnectRpcClient (bool)

          • DataFormatTypeWrapper (str) "Sparkplug_B_v1_0_Protobuf" or "Sparkplug_B_v1_0_JSON"

        • Sets
          • Id (long)

          • Name (str)

          • Description (str)

          • PrimaryHostId (str)

        • Transmitters
          • Id (long)

          • Name (str)

          • Enabled (bool)

          • TagProvider (str)

          • TagPath (str)

          • TagPacingPeriod (long)

          • ServerSetId (long)

          • DiscoveryDelay (long)

          • AliasedTags (bool)

          • CompressionTypeWrapper (long) "NONE" "DEFLATE" or "GZIP"

          • BlockCommands (bool)

          • ConvertUdts (bool)

          • PublishUdtDefinitions (bool)

          • OptimizeUdts (bool)

          • CacheBirthsEnabled (bool)

          • HistoryStoreId (long)

          • EnableStoreForwardByDefault (bool)

          • InOrderHistory (bool)

          • GroupId (str)

          • EdgeNodeId (str)

          • DeviceId (str)

          • FilteredProperties (str)

          • RebirthDebounceDelay (long)

        • Records
          • Id (long)

          • TagProvider (str)

          • TagFolderPath (str)

          • RecordType (long)

          • GroupId (str)

          • EdgeNodeId (str)

          • DeviceId (str)

          • OverridePublishTag (bool)

          • PublishTagPath (str)

        • Files
          • Id (long)

          • TagProvider (str)

          • TagFolderPath (str)

          • EnableAutoPublishing (bool)

          • FileScanRate (int)

          • GroupId (str)

          • EdgeNodeId (str)

          • DeviceId (str)

          • MessageSize (int)

          • MessagePacingPeriod (int)

          • MessageAckTimeout (int)

  • system.cirruslink.transmission.updateConfig(type, id, collisionPolicy, props) → void
    • Parameters
      • String type
        • The type of configuration to update with valid options:

          • History Stores
          • General
          • Cert Files
          • Servers
          • Sets
          • Transmitters
          • Records
          • Files
      • Long id
        • The ID of the record to update
      • String collisionPolicy
        • Either "MergeOverwrite" or "Overwrite"
      • Map props
        • Dictionary of properties making up the configuration with the following keys and datatypes:
          • History Stores
            • Id (long)

            • Name (str)

            • Enabled (bool)

            • TransmissionHistoryStoreType (str) "In-Memory" or "Disk-Backed"

            • EdgeNodeTagCapacity (int)

            • DeviceTagCapacity (int)

            • FlushQuantity (int)

            • FlushPeriod (long)

          • General
            • Id (long)

            • Enabled (bool)

          • Cert Files
            • Id (long)

            • Name (str)

            • FileContents (str)

            • Description (str)

          • Servers
            • Id (long)

            • Name (str)

            • Url (str)

            • ServerSetId (str)

            • Username (str)

            • Password (str)

            • CaCertFileId (long)

            • ClientCertFileId (long)

            • ClientPrivateKeyFileId (long)

            • ClientKeyPassword (str)

            • HostnameVerification (bool)

            • ClientId (str)

            • KeepAlive (int)

            • RandomStartupDelay (str)

            • ReconnectDelay (long)

            • AutoReconnectRpcClient (bool)

            • DataFormatTypeWrapper (str) "Sparkplug_B_v1_0_Protobuf" or "Sparkplug_B_v1_0_JSON"

          • Sets
            • Id (long)

            • Name (str)

            • Description (str)

            • PrimaryHostId (str)

          • Transmitters
            • Id (long)

            • Name (str)

            • Enabled (bool)

            • TagProvider (str)

            • TagPath (str)

            • TagPacingPeriod (long)

            • ServerSetId (long)

            • DiscoveryDelay (long)

            • AliasedTags (bool)

            • CompressionTypeWrapper (long) "NONE" "DEFLATE" or "GZIP"

            • BlockCommands (bool)

            • ConvertUdts (bool)

            • PublishUdtDefinitions (bool)

            • OptimizeUdts (bool)

            • CacheBirthsEnabled (bool)

            • HistoryStoreId (long)

            • EnableStoreForwardByDefault (bool)

            • InOrderHistory (bool)

            • GroupId (str)

            • EdgeNodeId (str)

            • DeviceId (str)

            • FilteredProperties (str)

            • RebirthDebounceDelay (long)

          • Records
            • Id (long)

            • TagProvider (str)

            • TagFolderPath (str)

            • RecordType (long)

            • GroupId (str)

            • EdgeNodeId (str)

            • DeviceId (str)

            • OverridePublishTag (bool)

            • PublishTagPath (str)

          • Files
            • Id (long)

            • TagProvider (str)

            • TagFolderPath (str)

            • EnableAutoPublishing (bool)

            • FileScanRate (int)

            • GroupId (str)

            • EdgeNodeId (str)

            • DeviceId (str)

            • MessageSize (int)

            • MessagePacingPeriod (int)

            • MessageAckTimeout (int)

    • Return Value
      • None
  • system.cirruslink.transmission.deleteConfig(type, id) → void
    • Parameters
      • String type
        • The type of configuration to delete with valid options:

          • History Stores
          • General
          • Cert Files
          • Servers
          • Sets
          • Transmitters
          • Records
          • Files
      • Long id
        • The ID of the record to delete
    • Return Value
      • None


Sample Script

Code Block
languagepy
# MQTT Transmission Create Transmitter
logger = system.util.logger("com.cirruslink.examples.transmitter.customtransmitters")

# Get the Default Set ID
sets = system.cirruslink.transmission.readConfig("Sets")
for config in sets:
  if config["Name"] == "Default":
    setId = config["Id"]
    logger.debug("New Set ID: " + str(setId))

# Create Transmitter One
transmitterProps = {}
transmitterProps["Name"] = "Custom One"
transmitterProps["Enabled"] = True
transmitterProps["TagProvider"] = "default"
transmitterProps["TagPath"] = ""
transmitterProps["TagPacingPeriod"] = 1000
transmitterProps["ServerSetId"] = setId
transmitterProps["DiscoveryDelay"] = 0
transmitterProps["AliasedTags"] = False
transmitterProps["CompressionTypeWrapper"] = "NONE"
transmitterProps["BlockCommands"] = False
transmitterProps["ConvertUdts"] = True
transmitterProps["PublishUdtDefinitions"] = True
transmitterProps["OptimizeUdts"] = True
transmitterProps["CacheBirthsEnabled"] = False
#transmitterProps["HistoryStore"] = None
transmitterProps["EnableStoreForwardByDefault"] = True
transmitterProps["InOrderHistory"] = False
transmitterProps["GroupId"] = "Test1G"
transmitterProps["EdgeNodeId"] = "Test1E"
transmitterProps["DeviceId"] = None
transmitterProps["FilteredProperties"] = "accessRights;clampMode;deadband;deadbandMode;formatString;historicalDeadband;historicalDeadbandMode;historicalDeadbandStyle;historyEnabled;historyMaxAge;historyMaxAgeUnits;historyProvider;historySampleRate;historySampleRateUnits;historyTagGroup;historyTimeDeadband;historyTimeDeadbandUnits;opcItemPath;opcServer;permissionModel;rawHigh;rawLow;sampleMode;scaleFactor;scaleMode;scaledHigh;scaledLow;tagGroup;valueSource;expression;expressionType;ConfiguredTagPath;eventScripts;readPermissions;writePermissions;eventScripts"
transmitterProps["RebirthDebounceDelay"] = 5000
system.cirruslink.transmission.createConfig("Transmitters", transmitterProps)

# Read Config
savedTransmitters = system.cirruslink.transmission.readConfig("Transmitters")
for config in savedTransmitters:
  if config["Name"] == "Custom One":
    logger.info("Transmitter Config: " + str(config))
    customOneId = config["Id"]

# Delete Config
#system.cirruslink.transmission.deleteConfig("Transmitters", customOneId)