### OPC Publisher Command Line Arguments for Version 2.5 and below Usage: opcpublisher.exe <applicationname> [<iothubconnectionstring>] [<options>] applicationname: the OPC UA application name to use, required The application name is also used to register the publisher under this name in the IoTHub device registry. iothubconnectionstring: the IoTHub owner connectionstring, optional. Typically you specify the IoTHub owner connectionstring only on the first start of the application. The connection string is encrypted and stored in the platforms certificiate store. On subsequent calls it is read from there and reused. If you specify the connectionstring on each start, the device which is created for the application in the IoTHub device registry is removed and recreated each time. There are a couple of environment variables which can be used to control the application: _HUB_CS: sets the IoTHub owner connectionstring _GW_LOGP: sets the filename of the log file to use _TPC_SP: sets the path to store certificates of trusted stations _GW_PNFP: sets the filename of the publishing configuration file Command line arguments overrule environment variable settings. Options: --pf, --publishfile=VALUE the filename to configure the nodes to publish. Default: '/appdata/publishednodes.json' --tc, --telemetryconfigfile=VALUE the filename to configure the ingested telemetry Default: '' -s, --site=VALUE the site OPC Publisher is working in. if specified this domain is appended (delimited by a ':' to the 'ApplicationURI' property when telemetry is sent to IoTHub. The value must follow the syntactical rules of a DNS hostname. Default: not set --ic, --iotcentral OPC Publisher sends OPC UA data in IoTCentral compatible format (DisplayName of a node is used as key, this key is the Field name in IoTCentral) . you need to ensure that all DisplayName's are unique. (Auto enables fetch display name) Default: False --sw, --sessionconnectwait=VALUE specify the wait time in seconds publisher is trying to connect to disconnected endpoints and starts monitoring unmonitored items Min: 10 Default: 10 --mq, --monitoreditemqueuecapacity=VALUE specify how many notifications of monitored items can be stored in the internal queue, if the data can not be sent quick enough to IoTHub Min: 1024 Default: 8192 --di, --diagnosticsinterval=VALUE shows publisher diagnostic info at the specified interval in seconds (need log level info). -1 disables remote diagnostic log and diagnostic output 0 disables diagnostic output Default: 0 --ns, --noshutdown=VALUE same as runforever. Default: False --rf, --runforever OPC Publisher can not be stopped by pressing a key on the console, but runs forever. Default: False --lf, --logfile=VALUE the filename of the logfile to use. Default: './<hostname>-publisher.log' --lt, --logflushtimespan=VALUE the timespan in seconds when the logfile should be flushed. Default: 00:00:30 sec --ll, --loglevel=VALUE the loglevel to use (allowed: fatal, error, warn, info, debug, verbose). Default: info --ih, --iothubprotocol=VALUE the protocol to use for communication with IoTHub ( allowed values: Amqp, Http1, Amqp_WebSocket_Only, Amqp_Tcp_Only, Mqtt, Mqtt_WebSocket_Only, Mqtt_ Tcp_Only) or IoT EdgeHub (allowed values: Mqtt_ Tcp_Only, Amqp_Tcp_Only). Default for IoTHub: Mqtt_WebSocket_Only Default for IoT EdgeHub: Amqp_Tcp_Only --ms, --iothubmessagesize=VALUE the max size of a message which can be sent to IoTHub. When telemetry of this size is available it is sent. 0 enforces immediate send when telemetry is available Min: 0 Max: 262144 Default: 262144 --si, --iothubsendinterval=VALUE the interval in seconds when telemetry should be sent to IoTHub. If 0, then only the iothubmessagesize parameter controls when telemetry is sent. Default: '10' --dc, --deviceconnectionstring=VALUE if publisher is not able to register itself with IoTHub, you can create a device with name < applicationname> manually and pass in the connectionstring of this device. Default: none -c, --connectionstring=VALUE the IoTHub owner connectionstring. Default: none --hb, --heartbeatinterval=VALUE the publisher is using this as default value in seconds for the heartbeat interval setting of nodes without a heartbeat interval setting. Default: 0 --sf, --skipfirstevent=VALUE the publisher is using this as default value for the skip first event setting of nodes without a skip first event setting. Default: False --pn, --portnum=VALUE the server port of the publisher OPC server endpoint. Default: 62222 --pa, --path=VALUE the enpoint URL path part of the publisher OPC server endpoint. Default: '/UA/Publisher' --lr, --ldsreginterval=VALUE the LDS(-ME) registration interval in ms. If 0, then the registration is disabled. Default: 0 --ol, --opcmaxstringlen=VALUE the max length of a string opc can transmit/ receive. Default: 131072 --ot, --operationtimeout=VALUE the operation timeout of the publisher OPC UA client in ms. Default: 120000 --oi, --opcsamplinginterval=VALUE the publisher is using this as default value in milliseconds to request the servers to sample the nodes with this interval this value might be revised by the OPC UA servers to a supported sampling interval. please check the OPC UA specification for details how this is handled by the OPC UA stack. a negative value sets the sampling interval to the publishing interval of the subscription this node is on. 0 configures the OPC UA server to sample in the highest possible resolution and should be taken with care. Default: 1000 --op, --opcpublishinginterval=VALUE the publisher is using this as default value in milliseconds for the publishing interval setting of the subscriptions established to the OPC UA servers. please check the OPC UA specification for details how this is handled by the OPC UA stack. a value less than or equal zero lets the server revise the publishing interval. Default: 0 --ct, --createsessiontimeout=VALUE specify the timeout in seconds used when creating a session to an endpoint. On unsuccessful connection attemps a backoff up to 5 times the specified timeout value is used. Min: 1 Default: 10 --ki, --keepaliveinterval=VALUE specify the interval in seconds the publisher is sending keep alive messages to the OPC servers on the endpoints it is connected to. Min: 2 Default: 2 --kt, --keepalivethreshold=VALUE specify the number of keep alive packets a server can miss, before the session is disconneced Min: 1 Default: 5 --aa, --autoaccept the OPC Publisher trusts all servers it is establishing a connection to. Default: False --tm, --trustmyself=VALUE same as trustowncert. Default: False --to, --trustowncert the OPC Publisher certificate is put into the trusted certificate store automatically. Default: False --fd, --fetchdisplayname=VALUE same as fetchname. Default: False --fn, --fetchname enable to read the display name of a published node from the server. this increases the runtime. Default: False --ss, --suppressedopcstatuscodes=VALUE specifies the OPC UA status codes for which no events should be generated. Default: BadNoCommunication, BadWaitingForInitialData --at, --appcertstoretype=VALUE the own application cert store type. (allowed values: Directory, X509Store) Default: 'Directory' --ap, --appcertstorepath=VALUE the path where the own application cert should be stored Default (depends on store type): X509Store: 'CurrentUser\UA_MachineDefault' Directory: 'pki/own' --tp, --trustedcertstorepath=VALUE the path of the trusted cert store Default: 'pki/trusted' --rp, --rejectedcertstorepath=VALUE the path of the rejected cert store Default 'pki/rejected' --ip, --issuercertstorepath=VALUE the path of the trusted issuer cert store Default 'pki/issuer' --csr show data to create a certificate signing request Default 'False' --ab, --applicationcertbase64=VALUE update/set this applications certificate with the certificate passed in as bas64 string --af, --applicationcertfile=VALUE update/set this applications certificate with the certificate file specified --pb, --privatekeybase64=VALUE initial provisioning of the application certificate (with a PEM or PFX fomat) requires a private key passed in as base64 string --pk, --privatekeyfile=VALUE initial provisioning of the application certificate (with a PEM or PFX fomat) requires a private key passed in as file --cp, --certpassword=VALUE the optional password for the PEM or PFX or the installed application certificate --tb, --addtrustedcertbase64=VALUE adds the certificate to the applications trusted cert store passed in as base64 string (multiple comma-seperated strings supported) --tf, --addtrustedcertfile=VALUE adds the certificate file(s) to the applications trusted cert store passed in as base64 string ( multiple comma-seperated filenames supported) --ib, --addissuercertbase64=VALUE adds the specified issuer certificate to the applications trusted issuer cert store passed in as base64 string (multiple comma-seperated strings supported) --if, --addissuercertfile=VALUE adds the specified issuer certificate file(s) to the applications trusted issuer cert store ( multiple comma-seperated filenames supported) --rb, --updatecrlbase64=VALUE update the CRL passed in as base64 string to the corresponding cert store (trusted or trusted issuer) --uc, --updatecrlfile=VALUE update the CRL passed in as file to the corresponding cert store (trusted or trusted issuer) --rc, --removecert=VALUE remove cert(s) with the given thumbprint(s) ( multiple comma-seperated thumbprints supported) --dt, --devicecertstoretype=VALUE the iothub device cert store type. (allowed values: Directory, X509Store) Default: X509Store --dp, --devicecertstorepath=VALUE the path of the iot device cert store Default Default (depends on store type): X509Store: 'My' Directory: 'CertificateStores/IoTHub' -i, --install register OPC Publisher with IoTHub and then exits. Default: False -h, --help show this message and exit --st, --opcstacktracemask=VALUE ignored. --sd, --shopfloordomain=VALUE same as site option The value must follow the syntactical rules of a DNS hostname. Default: not set --vc, --verboseconsole=VALUE ignored. --as, --autotrustservercerts=VALUE same as autoaccept Default: False --tt, --trustedcertstoretype=VALUE ignored. the trusted cert store always resides in a directory. --rt, --rejectedcertstoretype=VALUE ignored. the rejected cert store always resides in a directory. --it, --issuercertstoretype=VALUE ignored. the trusted issuer cert store always resides in a directory. ### OPC Publisher Command Line Arguments for Version 2.6 and above --pf, --publishfile=VALUE the filename to configure the nodes to publish. If this Option is specified it puts OPC Publisher into stadalone mode. --lf, --logfile=VALUE the filename of the logfile to use. --ll. --loglevel=VALUE the log level to use (allowed: fatal, error, warn, info, debug, verbose). --me, --messageencoding=VALUE the messaging encoding for outgoing messages allowed values: Json, Uadp --mm, --messagingmode=VALUE the messaging mode for outgoing messages allowed values: PubSub, Samples --fm, --fullfeaturedmessage=VALUE the full featured mode for messages (all fields filled in). Default is 'true', for legacy compatibility use 'false' --aa, --autoaccept the publisher trusted all servers it is establishing a connection to --bs, --batchsize=VALUE the number of OPC UA data-change messages to be cached for batching. --si, --iothubsendinterval=VALUE the trigger batching interval in seconds. --ms, --iothubmessagesize=VALUE the maximum size of the (IoT D2C) message. --om, --maxoutgressmessages=VALUE the maximum size of the (IoT D2C) message egress buffer. --di, --diagnosticsinterval=VALUE shows publisher diagnostic info at the specified interval in seconds (need log level info). -1 disables remote diagnostic log and diagnostic output --lt, --logflugtimespan=VALUE the timespan in seconds when the logfile should be flushed. --ih, --iothubprotocol=VALUE protocol to use for communication with the hub. allowed values: AmqpOverTcp, AmqpOverWebsocket, MqttOverTcp, MqttOverWebsocket, Amqp, Mqtt, Tcp, Websocket, Any --hb, --heartbeatinterval=VALUE the publisher is using this as default value in seconds for the heartbeat interval setting of nodes without a heartbeat interval setting. --ot, --operationtimeout=VALUE the operation timeout of the publisher OPC UA client in ms. --ol, --opcmaxstringlen=VALUE the max length of a string opc can transmit/receive. --oi, --opcsamplinginterval=VALUE default value in milliseconds to request the servers to sample values --op, --opcpublishinginterval=VALUE default value in milliseconds for the publishing interval setting of the subscriptions against the OPC UA server. --ct, --createsessiontimeout=VALUE the interval in seconds the publisher is sending keep alive messages to the OPC servers on the endpoints it is connected to. --kt, --keepalivethresholt=VALUE specify the number of keep alive packets a server can miss, before the session is disconnected. --tm, --trustmyself the publisher certificate is put into the trusted store automatically. --at, --appcertstoretype=VALUE the own application cert store type (allowed: Directory, X509Store).