Help
  • Explore Community
  • Get Started
  • Ask the Community
  • How-To & Best Practices
  • Contact Support
Notifications
Login / Register
Community
Community
Notifications
close
  • Forums
  • Knowledge Center
  • Events & Webinars
  • Ideas
  • Blogs
Help
Help
  • Explore Community
  • Get Started
  • Ask the Community
  • How-To & Best Practices
  • Contact Support
Login / Register
Sustainability
Sustainability

Join our "Ask Me About" community webinar on May 20th at 9 AM CET and 5 PM CET to explore cybersecurity and monitoring for Data Center and edge IT. Learn about market trends, cutting-edge technologies, and best practices from industry experts.
Register and secure your Critical IT infrastructure

How can I get a batch of values if I use SoapEwsRestProvider in SmartConnector?

SmartConnector Forum

Schneider Electric support forum about SmartConnector applications for integration of other building management systems (BMS) into EcoStruxure Building Operation.

cancel
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Home
  • Schneider Electric Community
  • EcoStruxure Building
  • SmartConnector
  • SmartConnector Forum
  • How can I get a batch of values if I use SoapEwsRestProvider in SmartConnector?
Options
  • Subscribe to RSS Feed
  • Mark Topic as New
  • Mark Topic as Read
  • Float this Topic for Current User
  • Bookmark
  • Subscribe
  • Mute
  • Printer Friendly Page
Invite a Co-worker
Send a co-worker an invite to the portal.Just enter their email address and we'll connect them to register. After joining, they will belong to the same company.
You have entered an invalid email address. Please re-enter the email address.
This co-worker has already been invited to the Exchange portal. Please invite another co-worker.
Please enter email address
Send Invite Cancel
Invitation Sent
Your invitation was sent.Thanks for sharing Exchange with your co-worker.
Send New Invite Close
Top Experts
User Count
JeffBowman
Sisko JeffBowman Sisko
164
ardak
ardak Schneider Alumni (Retired)
34
sesa180908_brid
Commander sesa180908_brid Commander
34
mike_meirovitz
Commander mike_meirovitz
21
View All

Invite a Colleague

Found this content useful? Share it with a Colleague!

Invite a Colleague Invite
Solved Go to Solution
Back to SmartConnector Forum
Solved
JessieSu
Lieutenant JessieSu Lieutenant
Lieutenant

Posted: ‎2017-05-31 08:06 AM

0 Likes
8
1193
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

‎2017-05-31 08:06 AM

How can I get a batch of values if I use SoapEwsRestProvider in SmartConnector?

Hello,

For sharing SBO data to 3rd party, I create a SoapEwsRestProvider and config it in SmartConnector.

Because there are a lot of sharing data, so the efficient way is we can provide a batch of values to 3rd party on request. But follow the SmartConnector RESTful EWS Gateway document, SoapEwsRestProvider does not support GET /Values action . Do we have another way to let others get multi-data on a request? Thanks in advance!

Best Regards

Jessie

Reply
  • All forum topics
  • Previous Topic
  • Next Topic

Accepted Solutions
JeffBowman
Sisko JeffBowman Sisko
Sisko

Posted: ‎2017-05-31 01:14 PM

1 Like
5
1100
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

‎2017-05-31 01:14 PM

Hi Jessie,

For doing something like this, you will want to use the subscription mechanism built in with the following workflow:

With the /Subscriptions Endpoint do a:

REQUEST 1:

POST /Subscriptions/Create with a body like:

{

  "DurationInMinutes": 15,

  "SubscriptionType": "ValueItemChanged",

  "Ids": [

    "01/Server 1/AV1",

    "01/Server 1/AV2",

    "01/Server 1/etc..."

  ]

}

RESPONSE 1:

This will return a body with an ID. When you want to check these values

REQUEST 2:

POST /Notifications/Create

{

  "SubscriptionId": "ID From above response",

  "ChangesOnly": true

}

RESPONSE 2:

This will return a notification ID. Then you do:

REQUEST 3:

GET /Notifications/{ID FROM ABOVE RESPONSE, without the {}}/Items

RESPONSE 3:

This will return a list of all values that have changes since the last notification response (since the notification has ChangesOnly = true. The first time you do this always, you will get the current value of ALL objects asked for, and subsuquent requests will return just the changes from the last notification.

Now basically just keep doing the POST /Notifications/Create and the GET /Notifications/{id}/Items over and over again. If you always want all the values, simply change ChangesOnly to false instead of true. But the vast majority of use cases can simply get the values that have changed, and determine the rest have remained the same .

Before the subscription expires, you will want to do a:

PUT /Subscriptions/{id}/Renew where the ID is the id returned from RESPONSE 1 with a body of:

{

     "minutes": 15

}

In order to keep your subscription alive, you can also terminate your subscription early if you want via the user of:

PUT /Subscriptions/{id}/Terminate where ID is the id returned from response 1.

If you end up getting a bad response from the web server on your subscription, just recreate it and start over.

Regards,

-Jeff

See Answer In Context

Reply
Replies 8
JeffBowman
Sisko JeffBowman Sisko
Sisko

Posted: ‎2017-05-31 01:14 PM

1 Like
5
1101
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

‎2017-05-31 01:14 PM

Hi Jessie,

For doing something like this, you will want to use the subscription mechanism built in with the following workflow:

With the /Subscriptions Endpoint do a:

REQUEST 1:

POST /Subscriptions/Create with a body like:

{

  "DurationInMinutes": 15,

  "SubscriptionType": "ValueItemChanged",

  "Ids": [

    "01/Server 1/AV1",

    "01/Server 1/AV2",

    "01/Server 1/etc..."

  ]

}

RESPONSE 1:

This will return a body with an ID. When you want to check these values

REQUEST 2:

POST /Notifications/Create

{

  "SubscriptionId": "ID From above response",

  "ChangesOnly": true

}

RESPONSE 2:

This will return a notification ID. Then you do:

REQUEST 3:

GET /Notifications/{ID FROM ABOVE RESPONSE, without the {}}/Items

RESPONSE 3:

This will return a list of all values that have changes since the last notification response (since the notification has ChangesOnly = true. The first time you do this always, you will get the current value of ALL objects asked for, and subsuquent requests will return just the changes from the last notification.

Now basically just keep doing the POST /Notifications/Create and the GET /Notifications/{id}/Items over and over again. If you always want all the values, simply change ChangesOnly to false instead of true. But the vast majority of use cases can simply get the values that have changed, and determine the rest have remained the same .

Before the subscription expires, you will want to do a:

PUT /Subscriptions/{id}/Renew where the ID is the id returned from RESPONSE 1 with a body of:

{

     "minutes": 15

}

In order to keep your subscription alive, you can also terminate your subscription early if you want via the user of:

PUT /Subscriptions/{id}/Terminate where ID is the id returned from response 1.

If you end up getting a bad response from the web server on your subscription, just recreate it and start over.

Regards,

-Jeff

Reply
JessieSu
Lieutenant JessieSu Lieutenant
Lieutenant

Posted: ‎2017-05-31 11:18 PM

0 Likes
0
1100
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

‎2017-05-31 11:18 PM

Jeffrey Bowman​

Hi Jeffrey,

Follow your instruction, It works now. Thank you very... much!

Best Regards

Jessie

Reply
JessieSu
Lieutenant JessieSu Lieutenant
Lieutenant

Posted: ‎2017-06-01 02:25 AM

0 Likes
0
1100
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

‎2017-06-01 02:25 AM

Hi Jeffrey,

Additional question: what's the reasonable setting for Subscriptions if we would share more than 10,000 points or maybe 20,000 points to others. DurationInMinutes is still set to 15? what's the maximum number of Ids in a POST Subscriptions/Create? Thanks!

Best Regards

Jessie

Reply
JeffBowman
Sisko JeffBowman Sisko
Sisko

Posted: ‎2017-06-01 07:44 AM

0 Likes
1
1100
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

‎2017-06-01 07:44 AM

HI Jessie,

As far as the subscription length, there is an issue with SBO that it only supports 1 subscription length, it is either 15 or 30 minutes (I forget exactly). So that is what you would need to use.

As far as the amount of points, there is no 'maximum' per say for SmartConnector, but there might be a limitation from the EWS side of things (the REST interface, sends EWS requests to SBO behind the scenes). Since you are able to have open multiple subscriptions, I would say you probably don't wanna do more than 500-1000 points per subscription (but you can always spread it out even more as you want to.)  Experimentation will be best here.

Regards,

-Jeff

Reply
JessieSu
Lieutenant JessieSu Lieutenant
Lieutenant

Posted: ‎2017-06-04 06:31 PM

0 Likes
0
1100
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

‎2017-06-04 06:31 PM

Thank you Jeffrey!

Reply
JessieSu
Lieutenant JessieSu Lieutenant
Lieutenant

Posted: ‎2018-01-08 12:46 AM

0 Likes
2
1100
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

‎2018-01-08 12:46 AM

For REQUEST 2, regardless of "ChangesOnly" parameter set to true or false, the result are the same - only get the changed value. Then how to get all subscription values? Thanks!

Capture.PNG

Reply
JeffBowman
Sisko JeffBowman Sisko
Sisko

Posted: ‎2018-01-08 07:54 AM

0 Likes
1
1100
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

‎2018-01-08 07:54 AM

Hi Jesse,

I looked into it, and it seems that as an EWS Server, SBO doesn't honor the mechanism the REST provider is using to supply the 'ChangesOnly' property (honestly, it looks like an SBO defect that they are unlikely to fix anytime soon). So, in order to get this functionality, you will need repeat request 1, 2, and 3 (1,2,3,1,2,3,1,2,3) over and over again instead doing it like 1,2,3,2,3,2,3. I would also recommend, canceling the original subscription each time with the PUT /Subscriptions/{id}/Terminate request each time as well, as to not bog down SBO with tons of subscriptions that are not really in use.

That said, if you do only care about the changes, then the original post holds true.

Regards,

-Jeff

Reply
JessieSu
Lieutenant JessieSu Lieutenant
Lieutenant

Posted: ‎2018-01-08 05:45 PM

0 Likes
0
1100
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

Link copied. Please paste this link to share this article on your social media post.

‎2018-01-08 05:45 PM

Hi Jeff,

Got it and Thanks!

BRs

Jessie

Reply
Preview Exit Preview

never-displayed

You must be signed in to add attachments

never-displayed

 
To The Top!

Forums

  • APC UPS Data Center Backup Solutions
  • EcoStruxure IT
  • EcoStruxure Geo SCADA Expert
  • Metering & Power Quality
  • Schneider Electric Wiser

Knowledge Center

Events & webinars

Ideas

Blogs

Get Started

  • Ask the Community
  • Community Guidelines
  • Community User Guide
  • How-To & Best Practice
  • Experts Leaderboard
  • Contact Support
Brand-Logo
Subscribing is a smart move!
You can subscribe to this board after you log in or create your free account.
Forum-Icon

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.

Register today for FREE

Register Now

Already have an account? Login

Terms & Conditions Privacy Notice Change your Cookie Settings © 2025 Schneider Electric

This is a heading

With achievable small steps, users progress and continually feel satisfaction in task accomplishment.

Usetiful Onboarding Checklist remembers the progress of every user, allowing them to take bite-sized journeys and continue where they left.

of