(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{354:function(e,t){e.exports={type:"object",properties:{"content-spec":{type:"string",default:"urn:spec://eclipse.org/unide/machine-message#v3",description:"Defines what the format version is"},device:{type:"object",description:"Contains information about the device",properties:{id:{type:"string",description:"The unique identification of the device. As this is used to identify a device independently from time or location the id itself must be stable and unique. Recommended is to use a universally unique identifier (UUID).",maxLength:36},mode:{type:"string",description:"The operational mode indicates the functional state of the device. This is not restrictected to enum, since it is dependent on the machine, process or use case. Examples are 'auto', 'manual', 'test', 'wait', 'maintenance', 'run', 'stop', 'other' or 'unknown'"},state:{type:"string",enum:["OK","INFO","WARN","ERROR","UNKNOWN"],default:"UNKNOWN",description:"The state describes the technical condition of a device."},additionalData:{type:"object"}},additionalProperties:!1,required:["id"]},part:{type:"object",properties:{code:{type:"string",description:"The code is an addendum to the result which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:128},id:{type:"string",description:"Identifies a part. This id comes from a 3rd party system and thus we have no guarantees if this is unique or not.",maxLength:256},type:{type:"string",enum:["SINGLE","BATCH"],description:"Describes the type of the part. Type SINGLE means a single item is processed. Type BATCH means multiple items of the same type are processed.",default:"SINGLE"},typeId:{type:"string",description:"Identifies a part type",maxLength:256},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"},additionalData:{type:"object"}},additionalProperties:!1,required:["id"]},measurements:{allOf:[{type:"array",minItems:1,items:{type:"object",properties:{code:{type:"string",description:"The code is an addendum to the result which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:128},context:{type:"object",description:"Provides additional information about the data in the series element. An entry in the context applies to the element in the series with the same key.",patternProperties:{"^[^$]+":{type:"object",description:"The key shall be the name of a measurement point (element of series element). The value is a structure of additional context information.",properties:{limits:{description:"Provides information about the limit for data in the series element. The limit corresponds to the measurement point (see also series element) with the same key. The value is a structure of upper/lower limits and applies to numeric values only.",type:"object",oneOf:[{type:"object",description:"A constant limit for all corresponding measurements",properties:{lowerError:{description:"Indicates an error if this limit is underrun",type:"number"},lowerWarn:{description:"Indicates a warning if this limit is underrun",type:"number"},target:{description:"Indicates the intented target value of the measurement",type:"number"},upperError:{description:"Indicates an error if this limit is exceeded",type:"number"},upperWarn:{description:"Indicates a warning if this limit is exceeded",type:"number"}}},{type:"object",description:"An array of limit values. The items of the array correspond to the respective measurements at the same position.",properties:{lowerError:{description:"Indicates an error if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},lowerWarn:{description:"Indicates a warning if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},target:{description:"Indicates the intented target values. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperError:{description:"Indicates an error if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperWarn:{description:"Indicates a warning if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}}}}]},namespace:{type:"string",description:"An URI that identifies the schema for further describing the values (e.g. a semantic description or further specification on length, unit, naming conventions etc.)"},type:{type:"string",description:"The data type of the corresponding measurement value.",enum:["BASE64","BOOLEAN","NUMBER","OTHER","REF","STRING"],default:"NUMBER"},unit:{type:"string",description:"Describes the unit of the corresponding measurement. It is recommended to use symbols as defined in https://tools.ietf.org/html/draft-ietf-core-senml-14#section-12.1"},additionalData:{type:"object"}},additinalProperties:!1,minProperties:1}},required:[]},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"},series:{type:"object",description:"The series data collected for the measurements. In the case of a time series, the measurement point 'time' should contain the time offsets.",properties:{time:{type:"array",description:"The time offset in milliseconds to the 'ts' field of the measurement.",items:{type:"number"}}},patternProperties:{"^[^$]+":{type:"array",items:{type:["boolean","number","string"],description:"The type of this measurement series is dependendant on the context.type. It defaults to number"}}},required:[],minProperties:1},ts:{format:"date-time",type:"string",description:"Start time of the the data measurment in  ISO 8601 format"},additionalData:{type:"object"}},additionalProperties:!1,required:["ts","series"]}},{items:{properties:{series:{required:["time"]}}}}]}},additionalProperties:!1,required:["content-spec","device","measurements"]}}}]);