Closed ergo-furrer closed 8 months ago
@ginoagb I tested the functional profile for Smart-Me and found some issues with the current profile.
I had problems with the JMES path expression Values[?Obis=='1-0:51.7.0*255'].Value | [0] * 1000
. The multiplication factor * 1000
is not a valid JMES path expression. It is not supported by the JMES-path library we use in Java and severe online JMES-path checkers on the internet. However we can avoid that and use the EI-XML <unitConversionMultiplicator>1000</unitConversionMultiplicator>
tag to achieve the same.
I am not sure whether the multiplication factor 1000 is really correct. The numbers returned by the Smart-Me API already really high (196930.0, 2498190.0116666667, 30901360.0...). It appears to me that the factor should be 0.001.
The JMES path value filter-criteria (such as 1-0:51.7.0*255
) within the EI-XML do not match the values returned within the Smart-Me API response.
Filter-expression in EI-XML
<query>Values[?Obis=='1-0:3.7.0*255'].Value | [0]</query> --> MISSING in response
<query>Values[?Obis=='1-0:23.7.0*255'].Value | [0]</query> --> MISSING in response
<query>Values[?Obis=='1-0:43.7.0*255'].Value | [0] * `1000`</query> --> MISSING in response
<query>Values[?Obis=='1-0:63.7.0*255'].Value | [0] * `1000`</query> --> MISSING in response
<query>Values[?Obis=='1-0:1.8.0*255'].Value | [0] * `1000`</query> --> OK present in response / ActiveEnergyACtot
<query>Values[?Obis=='1-0:1.7.0*255'].Value | [0] * `1000`</query> --> OK present in response / ActivePowerACtot
<query>Values[?Obis=='1-0:21.7.0*255'].Value | [0]</query> --> MISSING in response
<query>Values[?Obis=='1-0:41.7.0*255'].Value | [0] * `1000`</query> --> MISSING in response
<query>Values[?Obis=='1-0:61.7.0*255'].Value | [0] * `1000`</query> --> MISSING in response
<query>Values[?Obis=='1-0:31.7.0*255'].Value | [0]</query> --> MISSING in response
<query>Values[?Obis=='1-0:51.7.0*255'].Value | [0] * `1000`</query> --> MISSING in response
<query>Values[?Obis=='1-0:71.7.0*255'].Value | [0] * `1000`</query> --> MISSING in response
<query>Values[?Obis=='1-0:11.7.0*255'].Value | [0] * `1000`</query> --> OK present in response / CurrentACN
<query>Values[?Obis=='1-0:14.7.0*255'].Value</query> --> MISSING in response
Smart-Me server response:
[
"DeviceId": "08fffe1c-f3ae-4afe-bd70-bc0a73d7ac31",
"Date": "2023-12-12T18:27:48.1015006Z",
"Values": [
{
"Obis": "1-0:1.8.0*255",
"Value": 196930.0
},
{
"Obis": "1-0:1.7.0*255",
"Value": 0.0
},
{
"Obis": "1-0:32.7.0*255",
"Value": 231.7
},
{
"Obis": "1-0:11.7.0*255",
"Value": 0.0
},
{
"Obis": "1-0:33.7.0*255",
"Value": 0.0
},
{
"Obis": "0-0:96.9.0*255",
"Value": 294.9
},
{
"Obis": "99-0:10.0.0*255",
"Value": 2498190.0116666667
},
{
"Obis": "99-0:11.0.0*255",
"Value": 30901360.0
}
]
And therefore my introspective test results with 'null' or empty values for most of the data points:
Reactive Power ReactivePowerACtot null
Reactive Power ReactivePowerACL1 null
Reactive Power ReactivePowerACL2> null
Reactive Power ReactivePowerACL3 null
Active Energy Total Import ActiveEnergyACtot 196930.0
Active Power ActivePowerACtot 0.0
Active Power ActivePowerACL1 null
Active Power ActivePowerACL2 null
Active Power ActivePowerACL3 null
Current CurrentACL1 null
Current CurrentACL2 null
Current CurrentACL3 null
Current CurrentACN 0.0
Net Frequency Frequency
Conclusion
We need to synchronize/fix the filter-criterias for each datapoint with the actual values in the response. @ginoagb , do you have a spec for the API response and the meaning of each "Orbis" value, or do you know who we can ask?
I suspect the factor of 1000 to be wrong and think it should be 0.001. Is that correct.
Hi Hans, thanks for the test.
Done if