.. _user/protocols/shdr: ****** Shdr ****** Shdr is the underlying protocol of MTConnect, which implements the communication between an MTConnect Adapter and MTConnect Agent. In situation where no MTConnect Agent is available, you can directly hook into this communication. The protocol is readonly and reports all process data of machines including conditions, alarms and events. .. important:: For addressing data in Shdr, you first need to know the keys of the data items. These may be one of the following (in this order): Source, name, id of the item in the MTConnect Information Model of your equipment. To learn about the available keys on your equipment without the MTConnect Information Model being available, subscribe to `raw` data and observe the data over time. Commissioning file specifics ============================ A typical commissioning file for the SHDR protocol looks like this: Download: :download:`shdr-example.yml` .. literalinclude:: shdr-example.yml :language: yaml :linenos: .. _user/protocols/shdr_connection: .. include:: ../protocolSchemas/ShdrConnection.rst .. _user/protocols/shdr_endpoint: .. include:: ../protocolSchemas/ShdrEndpoint.rst Output Format ============= If data is read from SHDR the output will be provided as JSON object type: sample, event .. code:: json { "timestamp": "", "value": "" } type: condition .. code:: json { "timestamp": "", "value": { "level": "", "nativeCode": "", "nativeSeverity": "", "qualifier": "", "text": "" } } type: message .. code:: json { "timestamp": "", "value": { "nativeCode": "", "text": "" } } type: alarm .. code:: json { "timestamp": "", "value": { "code": "", "nativeCode": "", "severity": "", "state": "" } }