Condition ID format and example not matching on Agent version 2.3?
Based on readme document of version 2.3, the SHDR format of CONDITION only has 6 fields but, in the example, it shows 7 data fields (not included time stamp). Is that correct?
<timestamp>|<data_item_name>|<level>|<native_code>:<condition_id>|<native_severity>|<qualifier>|<message>
2014-09-29T23:59:33.460470Z|htemp|WARNING|HTEMP-1-HIGH|HTEMP|1|HIGH|Oil Temperature High**
I got errors when validating the current output with schema as shown below that require condition ID: 2024-04-22T18:49:48.2554602Z|UserMessage1||UNAVAILABLE 2024-04-22T18:49:48.2554602Z|system|NORMAL|3|4|5|6 2024-04-22T18:49:48.2554602Z|CoolantSystem1_cond|UNAVAILABLE|||| 2024-04-22T18:49:48.2554602Z|ElectricSystem1_cond|UNAVAILABLE|||| 2024-04-22T18:49:48.2554602Z|HydraulicSystem1_cond|UNAVAILABLE|||| 2024-04-22T18:49:48.2554602Z|LubricationSystem1_cond|UNAVAILABLE|||| 2024-04-22T18:49:48.2554602Z|PneumaticSystem1_cond|UNAVAILABLE|||| 2024-04-22T18:49:48.2554602Z|LoaderSystem1_cond|UNAVAILABLE|||| 2024-04-22T18:49:48.2554602Z|WasteDisposalSystem1_cond|UNAVAILABLE|||| 2024-04-22T18:49:48.2554602Z|ToolingDeliverySystem1_cond|UNAVAILABLE|||| 2024-04-22T18:49:48.2554602Z|BarFeederSystem1_cond|UNAVAILABLE||||
File http://localhost:5000/current is not valid. Attribute 'conditionId' is required in element <Unavailable>. Annotations of element 'Unavailable' (see below) The conditon can not be determined. Annotations of type 'UnavailableType' (see below) The conditon can not be determined. Error location: MTConnectStreams / Streams / DeviceStream / ComponentStream / Condition / Unavailable Details cvc-complex-type.4: Required attribute 'conditionId' is missing from element <Unavailable>. cvc-type.3.2: Element <Unavailable> is not valid with respect to type definition 'UnavailableType'. cvc-elt.5: The element <Unavailable> is not valid with respect to the actual type definition 'UnavailableType'. cvc-assess-elt.1.1: Strict assessment of element <Unavailable> with governing element declaration 'Unavailable' failed. Attribute 'conditionId' is required in element <Unavailable>. Annotations of element 'Unavailable' (see below) The conditon can not be determined. Annotations of type 'UnavailableType' (see below) The conditon can not be determined. Error location: MTConnectStreams / Streams / DeviceStream / ComponentStream / Condition / Unavailable Details cvc-complex-type.4: Required attribute 'conditionId' is missing from element <Unavailable>. cvc-type.3.2: Element <Unavailable> is not valid with respect to type definition 'UnavailableType'. cvc-elt.5: The element <Unavailable> is not valid with respect to the actual type definition 'UnavailableType'. cvc-assess-elt.1.1: Strict assessment of element <Unavailable> with governing element declaration 'Unavailable' failed. Attribute 'conditionId' is required in element <Unavailable>. Annotations of element 'Unavailable' (see below) The conditon can not be determined. Annotations of type 'UnavailableType' (see below) The conditon can not be determined. Error location: MTConnectStreams / Streams / DeviceStream / ComponentStream / Condition / Unavailable Details cvc-complex-type.4: Required attribute 'conditionId' is missing from element <Unavailable>. cvc-type.3.2: Element <Unavailable> is not valid with respect to type definition 'UnavailableType'. cvc-elt.5: The element <Unavailable> is not valid with respect to the actual type definition 'UnavailableType'. cvc-assess-elt.1.1: Strict assessment of element <Unavailable> with governing element declaration 'Unavailable' failed. Attribute 'conditionId' is required in element <Unavailable>. Annotations of element 'Unavailable' (see below) The conditon can not be determined. Annotations of type 'UnavailableType' (see below) The conditon can not be determined. Error location: MTConnectStreams / Streams / DeviceStream / ComponentStream / Condition / Unavailable Details cvc-complex-type.4: Required attribute 'conditionId' is missing from element <Unavailable>. cvc-type.3.2: Element <Unavailable> is not valid with respect to type definition 'UnavailableType'. cvc-elt.5: The element <Unavailable> is not valid with respect to the actual type definition 'UnavailableType'. cvc-assess-elt.1.1: Strict assessment of element <Unavailable> with governing element declaration 'Unavailable' failed. Attribute 'conditionId' is required in element <Unavailable>. Annotations of element 'Unavailable' (see below) The conditon can not be determined. Annotations of type 'UnavailableType' (see below) The conditon can not be determined. Error location: MTConnectStreams / Streams / DeviceStream / ComponentStream / Condition / Unavailable Details cvc-complex-type.4: Required attribute 'conditionId' is missing from element <Unavailable>. cvc-type.3.2: Element <Unavailable> is not valid with respect to type definition 'UnavailableType'. cvc-elt.5: The element <Unavailable> is not valid with respect to the actual type definition 'UnavailableType'. cvc-assess-elt.1.1: Strict assessment of element <Unavailable> with governing element declaration 'Unavailable' failed. Attribute 'conditionId' is required in element <Unavailable>. Annotations of element 'Unavailable' (see below) The conditon can not be determined. Annotations of type 'UnavailableType' (see below) The conditon can not be determined. Error location: MTConnectStreams / Streams / DeviceStream / ComponentStream / Condition / Unavailable Details cvc-complex-type.4: Required attribute 'conditionId' is missing from element <Unavailable>. cvc-type.3.2: Element <Unavailable> is not valid with respect to type definition 'UnavailableType'. cvc-elt.5: The element <Unavailable> is not valid with respect to the actual type definition 'UnavailableType'. cvc-assess-elt.1.1: Strict assessment of element <Unavailable> with governing element declaration 'Unavailable' failed. Attribute 'conditionId' is required in element <Unavailable>. Annotations of element 'Unavailable' (see below) The conditon can not be determined. Annotations of type 'UnavailableType' (see below) The conditon can not be determined. Error location: MTConnectStreams / Streams / DeviceStream / ComponentStream / Condition / Unavailable Details cvc-complex-type.4: Required attribute 'conditionId' is missing from element <Unavailable>. cvc-type.3.2: Element <Unavailable> is not valid with respect to type definition 'UnavailableType'. cvc-elt.5: The element <Unavailable> is not valid with respect to the actual type definition 'UnavailableType'. cvc-assess-elt.1.1: Strict assessment of element <Unavailable> with governing element declaration 'Unavailable' failed. Attribute 'conditionId' is required in element <Unavailable>. Annotations of element 'Unavailable' (see below) The conditon can not be determined. Annotations of type 'UnavailableType' (see below) The conditon can not be determined. Error location: MTConnectStreams / Streams / DeviceStream / ComponentStream / Condition / Unavailable Details cvc-complex-type.4: Required attribute 'conditionId' is missing from element <Unavailable>. cvc-type.3.2: Element <Unavailable> is not valid with respect to type definition 'UnavailableType'. cvc-elt.5: The element <Unavailable> is not valid with respect to the actual type definition 'UnavailableType'. cvc-assess-elt.1.1: Strict assessment of element <Unavailable> with governing element declaration 'Unavailable' failed. Attribute 'conditionId' is required in element <Unavailable>. Annotations of element 'Unavailable' (see below) The conditon can not be determined. Annotations of type 'UnavailableType' (see below) The conditon can not be determined. Error location: MTConnectStreams / Streams / DeviceStream / ComponentStream / Condition / Unavailable Details cvc-complex-type.4: Required attribute 'conditionId' is missing from element <Unavailable>. cvc-type.3.2: Element <Unavailable> is not valid with respect to type definition 'UnavailableType'. cvc-elt.5: The element <Unavailable> is not valid with respect to the actual type definition 'UnavailableType'. cvc-assess-elt.1.1: Strict assessment of element <Unavailable> with governing element declaration 'Unavailable' failed. Attribute 'conditionId' is required in element <Normal>. Annotations of element 'Normal' (see below) {{term(condition state)}} that indicates operation within specified limits. Annotations of type 'NormalType' (see below) {{term(condition state)}} that indicates operation within specified limits. Error location: MTConnectStreams / Streams / DeviceStream / ComponentStream / Condition / Normal Details cvc-complex-type.4: Required attribute 'conditionId' is missing from element <Normal>. cvc-type.3.2: Element <Normal> is not valid with respect to type definition 'NormalType'. cvc-elt.5: The element <Normal> is not valid with respect to the actual type definition 'NormalType'. cvc-assess-elt.1.1: Strict assessment of element <Normal> with governing element declaration 'Normal' failed.`
The nativeCode and conditionId are separated by a colon (:) not by a pipe (|)
This means the sample shdr in the document is not correct because there is no colon. Is that correct?
2014-09-29T23:59:33.460470Z|htemp|WARNING|HTEMP-1-HIGH|HTEMP|1|HIGH|Oil Temperature High
The example is wrong. There should not be the extra field. Missed that. I'll ask Dave to fix the docs.
There should only be 6 field not 7.
It seems agent does not produce the data stream correctly or the schema is not correct.
I got invalid conditionId value of 1700 when validating with XMLSpy.
shdr data: 2024-04-23T15:15:17.3726547Z|system|FAULT|1700:1700|1700|HIGH|1700 ALARM_A 1
current output:
<Condition> <Fault conditionId="1700" dataItemId="Lsystem" name="system" nativeCode="1700" nativeSeverity="1700" qualifier="HIGH" sequence="1132" timestamp="2024-04-23T15:12:13.071944Z" type="SYSTEM">1700 ALARM_A 1</Fault> </Condition>
XMLSpy Error: Value '1700' is not allowed for attribute 'conditionId'. Annotations of attribute 'conditionId' (see below) Identifier of an individual condition activation provided by a piece of equipment Annotations of type 'IDType' (see below) An identifier Error location: MTConnectStreams / Streams / DeviceStream / ComponentStream / Condition / Fault / @conditionId Details cvc-datatype-valid.1.2.1: For type definition 'IDType' the string '1700' does not match a literal in the lexical space of built-in type definition 'xs:ID'. cvc-simple-type.1: For type definition 'IDType' the string '1700' is not valid. cvc-attribute.3: Value '1700' of attribute 'conditionId' does not match simple type definition 'IDType'. cvc-assess-elt.2: Assessment of attribute 'conditionId' failed.
It seems missing conditionId in the data stream
2024-04-23T15:15:17.3726547Z|CoolantSystem1_cond|UNAVAILABLE||||
<Condition> <Unavailable dataItemId="LCoolantSystem1_cond" name="CoolantSystem1_cond" sequence="970" timestamp="2024-04-23T15:00:06.723365Z" type="SYSTEM"/> </Condition>
Error: Attribute 'conditionId' is required in element <Unavailable>. Annotations of element 'Unavailable' (see below) The conditon can not be determined. Annotations of type 'UnavailableType' (see below) The conditon can not be determined. Error location: MTConnectStreams / Streams / DeviceStream / ComponentStream / Condition / Unavailable Details cvc-complex-type.4: Required attribute 'conditionId' is missing from element <Unavailable>. cvc-type.3.2: Element <Unavailable> is not valid with respect to type definition 'UnavailableType'. cvc-elt.5: The element <Unavailable> is not valid with respect to the actual type definition 'UnavailableType'. cvc-assess-elt.1.1: Strict assessment of element <Unavailable> with governing element declaration 'Unavailable' failed.
It should be a string type not an id type. Shaurabh should fix it in the schema generator.
Thanks for finding this! - W
still cannot validate streaming data with the latest schema because of invalid condition ID for MTConnect spec 2.3
2024-06-04T18:09:41.5803779Z|system|FAULT|1701:1701|1701|HIGH|1701 ALARM_A
@shaurabhsingh Any progress?
Apologies. Somehow I missed this.
The conditionId type has been corrected for 2.3.
@hulinning2 kindly check if you are still getting the error.
@shaurabhsingh
I got new errors from the latest schema files. Missing conditionId
This seems like an agent error. As per the model, conditionId must be defined.
@wsobel I think this needs to be added to the Agent. The standard says the multiplicity of conditionId is 1. If conditionId is not given then it should be set to nativeCode. If nativeCode is also not given then the conditionId MUST be generated.
Depends on the SchemaVersion. I’ll check to make sure it is being produced. - W
@hulinning2 Can you upload your cfg file?
@wsobel agent.zip
Found the following issues with the current schema:
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 35:12 End location: 35:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 36:12 End location: 36:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 51:12 End location: 51:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 64:12 End location: 64:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 65:12 End location: 65:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 80:12 End location: 80:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 81:12 End location: 81:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 82:12 End location: 82:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 97:12 End location: 97:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 98:12 End location: 98:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-datatype-valid.1.2.1 Description: '1104' is not a valid value for 'NCName'. Start location: 99:12 End location: 99:19 URL: http://www.w3.org/TR/xmlschema11-2/#cvc-datatype-valid
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-attribute.3 Description: The value '1104' of attribute 'conditionId' on element 'Warning' is not valid with respect to its type, 'IDType'. Start location: 99:32 End location: 99:38 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-attribute
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 108:12 End location: 108:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 138:12 End location: 138:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 148:12 End location: 148:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.2.4.a Description: Invalid content was found starting with element '{"urn:mtconnect.org:MTConnectStreams:2.3":Level}'. One of '{"urn:mtconnect.org:MTConnectStreams:2.3":Event}' is expected. Start location: 153:12 End location: 153:17 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 156:12 End location: 156:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.2.4.a Description: Invalid content was found starting with element '{"urn:mtconnect.org:MTConnectStreams:2.3":FixtureGeometryDataSet}'. One of '{"urn:mtconnect.org:MTConnectStreams:2.3":Event}' is expected. Start location: 161:12 End location: 161:34 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.2.4.a Description: Invalid content was found starting with element '{"urn:mtconnect.org:MTConnectStreams:2.3":ToolSuffix}'. One of '{"urn:mtconnect.org:MTConnectStreams:2.3":Event}' is expected. Start location: 181:12 End location: 181:22 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 205:12 End location: 205:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 206:12 End location: 206:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 216:12 End location: 216:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 241:12 End location: 241:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 256:12 End location: 256:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
System ID: http://localhost:5001/current Main validation file: http://localhost:5001/current Schema: http://localhost:5001/schemas/MTConnectStreams_2.3.xsd Engine name: Xerces Severity: error Problem ID: cvc-complex-type.4 Description: Attribute 'conditionId' must appear on element 'Unavailable'. Start location: 273:12 End location: 273:23 URL: http://www.w3.org/TR/xmlschema11-1/#cvc-complex-type
In summary, conditionId is not required on normal or unavailable, only warning and fault.
It needs to be a string.
ID type is fixed in the latest 2.3 schema. We still need to fix the Unavailable requirement.
Making changes in "update_schema_version_for_demo_to_2.3" branch
Updated the schema. Created new ActivatedConditionType which extends ConditionType to include ConditionId only for warning and fault.
@wsobel kindly confirm
I validate on the agent.
Fixed!
@hulinning2 Cfg looks fine. It should be creating the condition ids. With the new schemas, all checks should pass. This will be 2.3.0.12 and I've also updated the demo configuration to track the latest versions.
@wsobel could not get to the latest release 2.3.0.12
@hulinning2 It's not built yet, I've got it in a PR right now. Need someone to approve. Once I tag it will build and release assets.
Please approve the PR.