# Setup IPC-Hermes ## Overview This feature is responsible for handling the connection setup between our Automation and the Equipment. !!! Note "Note" Currently this Integration only supports **Supervisory** mode. ## How To Configure To configure the connection between our Automation Driver and the IPC-Hermes Equipment a set of keys must be set in the IoTMetadataDefinition Smart Table. ### Relevant Artifacts The table below describes the properties for this entity type: | Name | Type | Is Mandatory | Data Type | Description | | :-------------------- | :--------- | :----------: | :-------- | :----------------------------------------------- | | IoTMetadataDefinition | SmartTable | Yes | | Metadata configuration for equipment integration | ### IoTMetadataDefinition Resource Level Configuration At the **Resource** level, there are several configuration we can make to set our connection with the IPC-Hermes Equipment and with the Equipment. | Resource | Resource Type | Area | Name | Value | Description | | --------------------- | ------------- | ---- | --------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | | *MES Hermes Resource* | | | hermes_address | Equipment address | Host/IP of the Hermes endpoint the driver will connect to (supervisory mode) | | *MES Hermes Resource* | | | hermes_port | Equipment TCP Port | Port of the Hermes endpoint the driver will connect to (supervisory mode) | | *MES Hermes Resource* | | | hermes_clientName | Name | Display name for the Hermes connection (used for logging/events) | | *MES Hermes Resource* | | | hermes_machinename | Name | Human readable name sent in the ServiceDescription | | *MES Hermes Resource* | | | hermes_machineid | UniqueId | Unique identifier sent in the ServiceDescription as MachineId | | *MES Hermes Resource* | | | hermes_checkaliveintervalms | UniqueId | Interval in ms to send Hermes CheckAlive messages on each active session.Default 60 000 | | *MES Hermes Resource* | | | hermes_checkalivetimeoutms | UniqueId | If no activity is observed for this period in ms, the session is closed and SessionDisconnected is emitted. Set to -1 to disable idle close. Default 120 000 | ??? Example "Configuration Example" With this configuration we can receive messages from the IPC-Hermes enabled equipment, send commands to the equipment and receive requests from equipment: | Resource | ResourceType | Area | Name | Value | | --------------------- | ------------ | ---- | ------------------ | ------------------------- | | *MES Hermes Resource* | | | hermes_address | 127.0.0.1 | | *MES Hermes Resource* | | | hermes_port | 5015 | | *MES Hermes Resource* | | | hermes_clientName | HermesPeer | | *MES Hermes Resource* | | | hermes_machinename | Hermes Supervisory Driver | | *MES Hermes Resource* | | | hermes_machineid | HermesSupervisor | --- ## How To Use On Automation startup we will retrieve the information on `IoTMetadataDefinition` related to the linked Resource and set the retrieved configuration parameters as connection values. !!! info "Every time you change this values you must restart the Automation Controller." ## Implementation Details During **Equipment Setup** we will resolve `IoTMetadataDefinition` and check which parameters we should configure. The Resource Name and State model will be stored in persistency for use in the other workflows.