SmartConnector Forum
Schneider Electric support forum about SmartConnector applications for integration of other building management systems (BMS) into EcoStruxure Building Operation.
Link copied. Please paste this link to share this article on your social media post.
We have recently installed a SmartConnector on a 1.9 ES to use the REST API Gateway for getting trend samples into a 3rd party historian application. The users are encountering errors in the API response. Its not obvious to me whether this is a SmartConnector issue or SBO issue.
Basically, calling the Trends/{id} endpoint on some trend objects is returning errors but the TrendSamples and Container endpoints are ok for the same object ID.
Is there any character limitations or anything else I may be missing that may explain why getting some Trend objects work and some return a 500, even though they live on the same AS?
Example Trend id which returns error:
%2FGU-Multi%20Campus-BMS-ES-01%2FServers%2FAS-M14-MSSB6.02-Chillers%2FPlant%20Application%2FPrimary%20CHW%20System%2FTrend%20Logs%2FChiller%20No.1%2FCH1_Flow_SP
Swagger Response:
{
"Message": "Code=TypeDoesNotExist, DisplayInfo='C:\\ProgramData\\Schneider Electric StruxureWare\\Building Operation 1.9\\Enterprise Server\\db\\UDT\\pr\\private\\Ce4556c9c8fcc41ab87216b4ca60b1271.xml', TechnicalInfo='The requested XML-file did not exist!', Module=ObjectManager, ModuleCode=0"
}
Example working trend id on the same Automation Server as the problematic trend above:
%2FGU-Multi%20Campus-BMS-ES-01%2FServers%2FAS-M14-MSSB6.02-Chillers%2FPlant%20Application%2FPrimary%20CHW%20System%2FTrend%20Logs%2FCommon%2FComEntTemp
Link copied. Please paste this link to share this article on your social media post.
Hi Clive,
By the error message, it looks as though you are using the SboEwsRestProvider, but its name, of course it will work with SBO, but it does have a lot of specifics that need to be done for it to work fully, beyond a simple configuration. We don't generally suggest using the Sbo provider except in certain circumstances.
That said, I would suggest for you to use the SoapEwsRestProvider instead, in your situation, I think likely the error will go away.
As far as the specific error, the SboEwsRestProvider, is a hybrid implementation that uses some CSP (EBO's native protocol) and EWS behind the scenes. Because of the way CSP works, we need to manaully let Smart Connector know which COML (EBO's object model) types are valid for a specific EWS type (e.g. containers, values, trends, alarms). It is likely that this BACnet trend type, isn't in this mapping. This mapping table is actually in the Smart Connector database in the ComEwsMappings table. So basically, to fix it, you would need to figure out the fully qualified COML type of the trend log in question, and then add it to this database table manually, and then restart your REST endpoint.
In order to determine the fully qualified COML type name, you can log into EBO, view the properies of the object in question (in this case the Trend log), expand the 'General Information' tab, and the hover over the Type name: See below for screenshot example (the COML type for the example below is trend.TLog😞
The above is kind of a convoluted, this is why we suggest using the SoapEwsRestProvider, as it is more than capable in the vast vast majority of use cases, and it just works :).
Let me know if you have anymore questions.
Best Regards,
-Jeff
Link copied. Please paste this link to share this article on your social media post.
Hi Clive,
By the error message, it looks as though you are using the SboEwsRestProvider, but its name, of course it will work with SBO, but it does have a lot of specifics that need to be done for it to work fully, beyond a simple configuration. We don't generally suggest using the Sbo provider except in certain circumstances.
That said, I would suggest for you to use the SoapEwsRestProvider instead, in your situation, I think likely the error will go away.
As far as the specific error, the SboEwsRestProvider, is a hybrid implementation that uses some CSP (EBO's native protocol) and EWS behind the scenes. Because of the way CSP works, we need to manaully let Smart Connector know which COML (EBO's object model) types are valid for a specific EWS type (e.g. containers, values, trends, alarms). It is likely that this BACnet trend type, isn't in this mapping. This mapping table is actually in the Smart Connector database in the ComEwsMappings table. So basically, to fix it, you would need to figure out the fully qualified COML type of the trend log in question, and then add it to this database table manually, and then restart your REST endpoint.
In order to determine the fully qualified COML type name, you can log into EBO, view the properies of the object in question (in this case the Trend log), expand the 'General Information' tab, and the hover over the Type name: See below for screenshot example (the COML type for the example below is trend.TLog😞
The above is kind of a convoluted, this is why we suggest using the SoapEwsRestProvider, as it is more than capable in the vast vast majority of use cases, and it just works :).
Let me know if you have anymore questions.
Best Regards,
-Jeff
Link copied. Please paste this link to share this article on your social media post.
Thanks @JeffBowman for your detailed response. You are correct, I am using the SboEwsRestProvider, which I guess I've mistakedly assumed is the standard option for integrating with SBO.
I will configure a SoapEwsRestProvider instead this week and let you know if it resolves the issue.
Thanks
Clive
Link copied. Please paste this link to share this article on your social media post.
Hi @JeffBowman , silly question but for the Server Address field for the SboEwsRestProvider , I just had the address + port, in the docs:
5.2.2.3 SoapEwsRestProvider Configuration Parameters
• Server Address – The full SOAP endpoint for the EWS server which will be the data source.
5.2.2.4 SboEwsRestProvider Configuration Parameters:
• Server Address – The HTTP endpoint for the SBO server which will be used to serve data. This only
needs to be the IP address (or DNS name) and port.
can you tell me the endpoint to use for SoapEwsRestProvider for an SBO ES?
Link copied. Please paste this link to share this article on your social media post.
Never mind, I found another Community post where you have already answered this question. Ive added /EcoStruxure/DataExchange to the URL and it works.
Link copied. Please paste this link to share this article on your social media post.
Hi Clive,
You are right, the name is confusing, but it is not all at the same time (I suppose a better name would have been CSP Ews REST Provider). The SBO Provider, only works with SBO, but it is not super easy to use as you have noticed, hence the recommendation for using the SOAP Provider.
Regards,
-Jeff
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.