![]()
Contents
Cirrus Link Resources
Cirrus Link Website![]()
Contact Us (Sales/Support)![]()
Forum![]()
Cirrus Link Modules Docs for Ignition 7.9.x![]()
Inductive Resources
Ignition User Manual![]()
Knowledge Base Articles![]()
Inductive University![]()
Forum![]()
The following API calls are available for the MQTT Transmission Module and can be executed within any of the available Ignition scopes.
There are sample API scripts available for each API call.
APIsAnchor publish publish
system.cirruslink.transmission.publish(mqttServerName, topic, payload, qos, retained) → void
ParametersString mqttServerNameThe name of the server connection to use in the MQTT Transmission Server configuration. This must match an existing server name in the configuration.String topicThe MQTT topic to publish on. This must be a valid MQTT topicbyte[] payloadAn array of bytes representing the MQTT payloadint qosThe MQTT 'Quality of Service' to use. This must be either 0, 1, or 2boolean retainedWhether or not to publish this message with the retained flag setReturn ValueNoneAnchor createConfig createConfig
system.cirruslink.transmission.createConfig(type, props) → voidParametersString typeThe type of configuration to create with valid options:
History StoresCert FilesServersSetsTransmittersRecordsFilesMap propsDictionary of properties making up the configuration with the following keys and datatypes:History StoresId (long)
Name (str)
Enabled (bool)
TransmissionHistoryStoreType (str) "In-MemoryIN_MEMORY" or "Disk-BackedDISK_BACKED"
EdgeNodeTagCapacity (int)(deprecated 4.0.19)
DeviceTagCapacity (int)(deprecated 4.0.19)
HistoryMaxSize (int)(added 4.0.22)HistoryMaxAge (int) (added 4.0.19)FlushQuantity (int)
FlushPeriod (long)
RollingHistoryBufferEnabled (boo)(added 4.0.17)RollingHistoryMaxAge (int) (added 4.0.17)RollingHistoryPruneInterval (int)(added 4.0.17)H2dbPort (int)(added 4.0.22)Cert FilesId (long)
Name (str)
FileContents (str)
Description (str)
ServersId (long)
Name (str)
Url (str)
ServerSetId (str) (must be included)
Username (str)
Password (str)
CaCertFileId (long)
ClientCertFileId (long)
ClientPrivateKeyFileId (long)
ClientKeyPassword (str)
HostnameVerification (bool)
TlsAlpnExtensions (str)ClientId (str)
KeepAlive (int)
RandomStartupDelay (str)
ReconnectDelay (long)AutoReconnectRpcClient (bool)
DataFormatTypeWrapper (str) "Sparkplug_B_v1_0_Protobuf" or "Sparkplug_B_v1_0_JSON"
AutoReconnectRpcClient (bool)RpcClientKeyPassword (str) (added 4.0.18)RpcClientEnabled (bool) (added 4.0.18)RpcClientPrivateKeyFileId (long) (added 4.0.18)RpcTlsAlpnExtensions (str) (added 4.0.18)RpcHostnameVerification (bool) (added 4.0.18)RpcUsername (str) (added 4.0.18)RpcClientId (str) (added 4.0.18)RpcClientCertFileId (long) (added 4.0.18)RpcPassword (str) (added 4.0.18)RpcCaCertFileId (long) (added 4.0.18)SetsId (long)
Name (str)
Description (str)
PrimaryHostId (str)
TransmittersId (long)
Name (str)
Enabled (bool)
TagProvider (str)
TagPath (str)
TagPacingPeriod (long)
ServerSetId (long) (must be included)
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)
RecordsId (long)
TagProvider (str)
TagFolderPath (str)
RecordType (long)
GroupId (str)
EdgeNodeId (str)
DeviceId (str)
OverridePublishTag (bool)
PublishTagPath (str)
EnableSignature (bool)(added 4.0.20)SignaturePassword (str)(added 4.0.20)HashingAlgorithm (str)(added 4.0.20)"SHA_1","SHA_224","SHA_256","SHA_384" or "SHA_512"FilesId (long)
TagProvider (str)
TagFolderPath (str)
EnableAutoPublishing (bool)
FileScanRate (int)
GroupId (str)
EdgeNodeId (str)
DeviceId (str)
MessageSize (int)
MessagePacingPeriod (int)
MessageAckTimeout (int)
Return ValueNoneA map representing the newly created configuration after it has been written to the database. (added 4.0.16)Anchor readConfig readConfig
system.cirruslink.transmission.readConfig(type) → List ParametersString typeThe type of configuration to read with valid options:
History StoresGeneralCert FilesServersSetsTransmittersRecordsFilesReturn ValueA List of Dictionaries of properties making up the configurations with the following keys and datatypes:History StoresId (long)
Name (str)
Enabled (bool)
TransmissionHistoryStoreType (str) "In-Memory" or "Disk-Backed"
EdgeNodeTagCapacity (int)(deprecated 4.0.19)
DeviceTagCapacity (int)(deprecated 4.0.19)
HistoryMaxSize (int)(added 4.0.22)HistoryMaxAge (int)(added 4.0.19)FlushQuantity (int)
FlushPeriod (long)
RollingHistoryBufferEnabled (bool)(added 4.0.17)RollingHistoryMaxAge (int)(added 4.0.17)RollingHistoryPruneInterval (int)(added 4.0.17)H2dbPort (int)(added 4.0.22)GeneralId (long)
Enabled (bool)
AuditProfileRecordId (long)(added 4.0.16)Cert FilesId (long)
Name (str)
FileContents (str)
Description (str)
ServersId (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"
AutoReconnectRpcClient (bool)RpcClientKeyPassword (str) (added 4.0.18)RpcClientEnabled (bool) (added 4.0.18)RpcClientPrivateKeyFileId (long) (added 4.0.18)RpcTlsAlpnExtensions (str) (added 4.0.18)RpcHostnameVerification (bool) (added 4.0.18)RpcUsername (str) (added 4.0.18)RpcClientId (str) (added 4.0.18)RpcClientCertFileId (long) (added 4.0.18)RpcPassword (str) (added 4.0.18)RpcCaCertFileId (long) (added 4.0.18)SetsId (long)
Name (str)
Description (str)
PrimaryHostId (str)
TransmittersId (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)
RecordsId (long)
TagProvider (str)
TagFolderPath (str)
RecordType (long)
GroupId (str)
EdgeNodeId (str)
DeviceId (str)
OverridePublishTag (bool)
PublishTagPath (str)
EnableSignature (bool)(added 4.0.20)SignaturePassword (str)(added 4.0.20)HashingAlgorithm (str)(added 4.0.20)"SHA_1",SHA_224","SHA_256","SHA_384" or "SHA_512"FilesId (long)
TagProvider (str)
TagFolderPath (str)
EnableAutoPublishing (bool)
FileScanRate (int)
GroupId (str)
EdgeNodeId (str)
DeviceId (str)
MessageSize (int)
MessagePacingPeriod (int)
MessageAckTimeout (int)
Anchor updateConfig updateConfig
system.cirruslink.transmission.updateConfig(type, id, collisionPolicy, props) → voidParametersString typeThe type of configuration to update with valid options:
History StoresGeneralCert FilesServersSetsTransmittersRecordsFilesLong idThe ID of the record to updateString collisionPolicyEither "MergeOverwrite" or "Overwrite""MergeOverwrite" will replace the existing properties in the record ID with only those included in the call"Overwrite" will replace all properties in the record ID with those in the callMap propsDictionary of properties making up the configuration with the following keys and datatypes:History StoresId (long)
Name (str)
Enabled (bool)
TransmissionHistoryStoreType (str) "InIN-MemoryMEMORY" or "Disk-BackedDISK_BACKED"
EdgeNodeTagCapacity (int)(deprecated 4.0.19)
DeviceTagCapacity (int)(deprecated 4.0.19)
HistoryMaxSize (int)(added 4.0.22)HistoryMaxAge (int)(added 4.0.19)FlushQuantity (int)
FlushPeriod (long)
RollingHistoryBufferEnabled (bool)(added 4.0.17)RollingHistoryMaxAge (int)(added 4.0.17)RollingHistoryPruneInterval (int)(added 4.0.17)H2dbPort (int)(added 4.0.22)GeneralId (long)
Enabled (bool)
AuditProfileRecordId (long)(added 4.0.16)Cert FilesId (long)
Name (str)
FileContents (str)
Description (str)
ServersId (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"
AutoReconnectRpcClient (bool)RpcClientKeyPassword (str) (added 4.0.18)RpcClientEnabled (bool) (added 4.0.18)RpcClientPrivateKeyFileId (long) (added 4.0.18)RpcTlsAlpnExtensions (str) (added 4.0.18)RpcHostnameVerification (bool) (added 4.0.18)RpcUsername (str) (added 4.0.18)RpcClientId (str) (added 4.0.18)RpcClientCertFileId (long) (added 4.0.18)RpcPassword (str) (added 4.0.18)RpcCaCertFileId (long) (added 4.0.18)SetsId (long)
Name (str)
Description (str)
PrimaryHostId (str)
TransmittersId (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)
RecordsId (long)
TagProvider (str)
TagFolderPath (str)
RecordType (long)
GroupId (str)
EdgeNodeId (str)
DeviceId (str)
OverridePublishTag (bool)
PublishTagPath (str)
EnableSignature (bool)(added 4.0.20)SignaturePassword (str)(added 4.0.20)FilesId (long)
TagProvider (str)
TagFolderPath (str)
EnableAutoPublishing (bool)
FileScanRate (int)
GroupId (str)
EdgeNodeId (str)
DeviceId (str)
MessageSize (int)
MessagePacingPeriod (int)
MessageAckTimeout (int)
Return ValueNoneA map representing the updated configuration after it has been written to the database. (added 4.0.16)Anchor deleteConfig deleteConfig
system.cirruslink.transmission.deleteConfig(type, id) → voidParametersString typeThe type of configuration to delete with valid options:
History StoresGeneralCert FilesServersSetsTransmittersRecordsFilesLong idThe ID of the record to deleteReturn ValueTrue if the record is successfully deleted otherwise False is returned (added 4.0.16)| Anchor | ||||
|---|---|---|---|---|
|
| Warning |
|---|
| Cirrus Link provides these scripts as examples only, they are not supported or guaranteed to meet any particular functionality. Cirrus Link cannot provide any assistance to modify these scripts to meet a particular need. |
| Code Block | ||
|---|---|---|
| ||
# Cirrus Link provides these scripts as examples only, they are not supported or guaranteed to meet any particular functionality. Cirrus Link cannot provide any assistance to modify these scripts to meet a particular need. # 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"] # Update Config using MergeOverwrite transmitterProps = {} transmitterProps["GroupId"] = "Test2G" transmitterProps["EdgeNodeId"] = "Test2E" system.cirruslink.transmission.updateConfig(“Transmitters”, customOneId, “MergeOverwrite”, transmitterProps) # Update Config using Overwrite 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"] = "Test2G" transmitterProps["EdgeNodeId"] = "Test2E" 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.updateConfig(“Transmitters”, customOneId, “Overwrite”, transmitterProps) # Delete Config system.cirruslink.transmission.deleteConfig("Transmitters", customOneId) |