--- alias: user-guide-oib-extensions-operatorassist tags: - connect iot description: "This documentation details commands for managing Operator Assist, a system utilizing message queues for notifications" --- # Operator Assist ### Communication Parameters | Name | Type | Possible Values | Default Value | Description | | ------------ | ------- | ------------------------------------------------ | -------------------------------- | ------------------------------------------------------------ | | enableMode | Enum | `None`
`OnePerEnterprise`
`OnePerSite` | `None` | How should activate Operator Assist instance:
`None` - No instance will be used
`OnePerEnterprise` - One Instance for all Lines (Enterprise level)
`OnePerSite` - One Instance for all Lines (Site level) | | callbackPort | Integer | | 0 | What port to use to receive events from Printer Control. Use `0` to use a free port at `callbackBasePort` + 900 | | registerMode | Enum | `UnregisterFirst` | `UnregisterFirst` `JustRegister` | Mode to register callbacks UnregisterFirst - Unregister Services before register new one to avoid duplicates JustRegister - Doesn't try to unregister anything prior. Can have duplicates. | __Important__: In order to use Operator Assist it requires the installation of Microsoft's [MSMQ](https://learn.microsoft.com/en-us/dotnet/framework/wcf/samples/installing-message-queuing-msmq). ### Commands #### OperatorAssist.Command.CreateOrUpdateOperatorAssist Execute this command to either create or update an operator assist. | Property Id | Data Type | Possible Values | Description | | ----------------------- | --------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Id | String | | Guid to be used for the creation of the notification, if no guid is specified it will generate a new one. | | LineFullName | String | | Line full name, also known as SiplaceProLinePath | | StationFullName | String | | Station full name, also known as SiplaceProDevicePath | | AccessType | Enum | `Local` `Remote` | Local - only on external devices (i.e smartphones)
Remote - appears on the ASM Works GUI and in external devices | | Priority | Integer | | Priority of the notification | | AssistLocation | Object | | There are other possible locations beyond line and station. We offer this as an entry point to more complex locations. We will expect and serialize an object to the `www.siplace.com.OIB._2017._05.OperatorAssist.Contracts.Data`.AssistLocation. | | ScenarioId | String | | ScenarioId to be used in the notification | | Description | String | | Description in english to be used in the notification | | DescriptionTranslations | Object | | Other Languages translations can be offered, beyond english. We will serialize the object to a dictionary with key and value string i.e. { "en", "Some Message", { "de-DE", "Some message in german" } | | TimeToLive | Integer | | Ability to predefine a time to live for the notification. After that time the notification will be deleted. Default is 14400 (s) or 4 hours. | | Assists | Object | | Ability to send a payload with a collection of assists i.e ({ "Id": "9903ED01-A73C-4874-8ABF-D2678E3AE23D", "LineFullPath": "Virtual Lines\\Virtual Line 01", "StationFullPath": "Virtual Stations\\Virtual SX4 01", "AccessType": "Remote", "ScenarioId": "1", "Description": "Hello", "Priority": "1", "TimeToLive": "0" }). | In the reply of the command it will output a Serialization of `www.siplace.com.OIB._2017._05.OperatorAssist.Contracts.Data.OperatorAssist[]` with what was sent to MSMQ. #### OperatorAssist.Command.DeleteOperatorAssist | Property Id | Data Type | Possible Values | Description | | ----------- | --------- | --------------- | ------------------------------------------------------- | | Id | String | | Notification Guid to be deleted. | | Ids | Object | | List of strings of Guids of notifications to be deleted | __Important__: As we are publishing to MSMQ a success will be publishing to MSMQ and not if the result was actually able to be executed as intended. For example, an incorrect line or station will generate a success but will be filtered by the ASM Operator assist as such there will be no feedback to whomever is making the call.