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 to Sync live alarms into SBO by 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 to Sync live alarms into SBO by smartConnector
Options
  • 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
sesa197614_brid
sesa197614_brid Schneider Alumni (Retired)
Schneider Alumni (Retired)

Posted: ‎2016-08-11 09:02 PM

0 Likes
15
1288
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

‎2016-08-11 09:02 PM

how to Sync live alarms into SBO by smartConnector

Dear:

If I wanna use SmartConnector to sync alarms of third party system into SBO, is there a supported method in SmartConnector API that I can use to set a live alarm message into SBO.

Now I only find the supported function for a client to set values into SBO(as EWS server) is SetValues(), which can't be used to send live alarm message.

Thanks,

Austen Yin

Reply
  • All forum topics
  • Previous Topic
  • Next Topic

Accepted Solutions
JeffBowman
Sisko JeffBowman Sisko
Sisko

Posted: ‎2016-08-18 06:23 AM

0 Likes
7
1102
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

‎2016-08-18 06:23 AM

Hi Austen,

Yes, no matter where the alarm messages come from, if they are not native 'alarm' objects in SBO they need to be read into SBO through some sort of interface.. whether it be EWS (most likely in your case).. or BACnet or some other interface in SBO that supports alarming.


As far as "Mirroring" alarms, What you will effectively be doing is fetching the Alarms from the third party systems with SmartConnector (EWS if SBO.. or some other mechanism if not) and converting those alarms into EWS alarms in a SmartConnector EWS Server.. And yes, once an EWS Interface is created in the master ES and points at the SmartConnector EWS server.. SBO will start reading the alarms from SmartConnector automatically.

Also to mirror Mark's comment, you will not need to develop your own EWS Server in SmartConnector, as SmartConnector already contains the classes necessary to facilitate this. What you may need to do is override some of the methods in order to add custom functionality. For example, you may want to acknowledge the actual alarm in the child system when the alarm is acknowledged from the master ES (the default SmartConnector EWS server functionality is to Acknowledge the alarm in the SmartConnector EWS server only). You can see an example of overriding the default behavior of an EWS method in the Mongoose.Ews.Server.Sample Nuget package. Also if you need more sample code, please ask and we will try and provide some for you.

-Jeff

See Answer In Context

Reply
Replies 15
Adam_Summers
Lt. Commander Adam_Summers Lt. Commander
Lt. Commander

Posted: ‎2016-08-12 01:13 AM

0 Likes
13
1102
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

‎2016-08-12 01:13 AM

There are a couple of different ways I'd achieve this behaviour.

You're discussing using the EWS Client to set a StruxureWare value which would in turn require  a StruxureWare alarm to be configured on the object. There are several reasons why you might chose this approach at present.

Firstly, by setting a StruxureWare value which has an SBO alarm attached you will not need to poll your SmartConnector server and will not have any chance of missing the alarm event. (Assuming your alternative was the inverse of alarming the remote EWS value which would cause that value to be polled)

Secondly, if you were to use the alternative approach of presenting the alarm via an EWS server, you are limited to the actions that it has in SBO. EWS alarms are really more like messages, you cannot attach specific behaviour to those alarms such as cause notes, graphic attachments etc.

If you want to use SmartConnector to present an EWS server which has alarm, then you can do this. You need to create an EWS Server instance with SmartConnector, create the objects and then you can trigger EWS alarms. I believe this is covered in the Nuget sample package Mongoose.Process.Sample - if you find you need some more assistance please reply back and I'm sure me or someone else can provide you the support and a code snippet if required for this!

Reply
sesa180908_brid
Commander sesa180908_brid Commander
Commander

Posted: ‎2016-08-12 04:46 AM

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

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

‎2016-08-12 04:46 AM

I think the approach of using SmartConnector as the EWS Server with SBO as the EWS Client is the recommended approach.

As Adam said, you would need to provision a SmartConnector EWS Server first.  This can be done either from a Processor (see the samples as Adam suggested) or from the Portal itself.

Once provisioned you would then manage the data that is being "served" to SBO by using the SmartConnector EwsServerDataAdapter class from a Processor subclass which is reading data from your third party system and generating the corresponding entities: AlarmItem, AlarmEvent etc.

Reply
sesa197614_brid
sesa197614_brid Schneider Alumni (Retired)
Schneider Alumni (Retired)

Posted: ‎2016-08-14 09:55 PM

0 Likes
12
1102
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

‎2016-08-14 09:55 PM

Thanks Adam, I think I need clarify my question as:

1. I wish the ES would receive the third-party alarms message and display them in "Alarms"window directly, without create any EWS interface(the ES role as EWS server)

2. I am not going to set a StruxureWare value which has an SBO alarm attached, I wish I can write a alarm message into the "Alarm Server"(assume it is the name) of ES if possible.

3. As you said in you Secondly way, it may be limited by attach specific behavior to those alarms such as cause notes, graphic attachments etc., Then how about I just need show the alarm message in the "Alarms" window to be acknowledged?


User case would possible  be as:

Assume I have 3 ES server, By using the SmartConnector to develop an application,  I wonna use only one ES as master to receive all alarms also including the ones from the other two ES. and all alarms will be as natural as its own.(The other two ES may be replaced by third-party system)


Would it be possible?


Thanks a lot

Austen

Reply
JeffBowman
Sisko JeffBowman Sisko
Sisko

Posted: ‎2016-08-15 06:10 AM

0 Likes
11
1102
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

‎2016-08-15 06:10 AM

Hi Austen,

Currently, without using SBO alarms natively,(aka setting a point in SBO to trigger a native alarm). There is no way to get alarms into SBO without the use of an interface (BACnet or EWS for example).

Even if one were to look at using the WorkStation SDK.. there is no way to send alarms directly to an ES.The only way in either case would be to create an interface at some point.. either BACnet or EWS.. or otherwise.

As far as your use case. We have done a proof of concept in the StruxureLab using SmartConnector (called Cerberus) that does exactly what you are asking for and more. I have attached a very informal powerpoint describing it. So it is indeed possible to do what you are trying to accomplish. However, you would have to note that the Alarm Acknowledgement back to the 'child' ES would be the EWS user.. and not necessarily the user who Acknowledged the alarm in the 'Master'.

In the case that your other systems are replaced by a third party system, that would be a different story as the mechanism for fetching the alarms from the third party system would change, but this kind of thing is exactly what SmartConnector is designed to accomplish, so it also would be possible.

-Jeff

Attachments
Reply
sesa197614_brid
sesa197614_brid Schneider Alumni (Retired)
Schneider Alumni (Retired)

Posted: ‎2016-08-17 07:47 PM

0 Likes
10
1103
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

‎2016-08-17 07:47 PM

Thanks Jeffrey:

You answer is absolutely helpful.

According to your explanation, no matter where the alarm messages come from,another ES or third-party system, we have to mirror all the alarms in a self-developed EWS server by using SmartConnctor framework, and then the master ES will get all alarms by creating a EWS interface. Am I right?

Cheers

-Austen

Reply
sesa180908_brid
Commander sesa180908_brid Commander
Commander

Posted: ‎2016-08-18 03:49 AM

1 Like
1
1103
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

‎2016-08-18 03:49 AM

You don't have to develop an EWS Server, SmartConnector provides that functionality for you.  You can provision one using SmartConnector's web management portal or programmatically using the EwsServerDataAdapter class.  Typically you would then manage the data served with a Processor Extension you would write, again using the EwsServerDataAdapter class.

Reply
JeffBowman
Sisko JeffBowman Sisko
Sisko

Posted: ‎2016-08-18 06:23 AM

0 Likes
7
1103
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

‎2016-08-18 06:23 AM

Hi Austen,

Yes, no matter where the alarm messages come from, if they are not native 'alarm' objects in SBO they need to be read into SBO through some sort of interface.. whether it be EWS (most likely in your case).. or BACnet or some other interface in SBO that supports alarming.


As far as "Mirroring" alarms, What you will effectively be doing is fetching the Alarms from the third party systems with SmartConnector (EWS if SBO.. or some other mechanism if not) and converting those alarms into EWS alarms in a SmartConnector EWS Server.. And yes, once an EWS Interface is created in the master ES and points at the SmartConnector EWS server.. SBO will start reading the alarms from SmartConnector automatically.

Also to mirror Mark's comment, you will not need to develop your own EWS Server in SmartConnector, as SmartConnector already contains the classes necessary to facilitate this. What you may need to do is override some of the methods in order to add custom functionality. For example, you may want to acknowledge the actual alarm in the child system when the alarm is acknowledged from the master ES (the default SmartConnector EWS server functionality is to Acknowledge the alarm in the SmartConnector EWS server only). You can see an example of overriding the default behavior of an EWS method in the Mongoose.Ews.Server.Sample Nuget package. Also if you need more sample code, please ask and we will try and provide some for you.

-Jeff

Reply
sesa197614_brid
sesa197614_brid Schneider Alumni (Retired)
Schneider Alumni (Retired)

Posted: ‎2016-08-18 09:22 AM

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

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

‎2016-08-18 09:22 AM

Thanks Mark, when I talked about develop my own EWS server in SmartConnector, Exactly I am saying using EwsServerDataAdapter class to do it with override the get and set methods.

Reply
sesa197614_brid
sesa197614_brid Schneider Alumni (Retired)
Schneider Alumni (Retired)

Posted: ‎2016-08-18 09:30 AM

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

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

‎2016-08-18 09:30 AM

Thanks Jeff, you explanation is already very clear to me about the alarm mechanism of SBO.

For the Mongoose.Ews.Server.Sample, I understand it and ever designed an application for a demo project, works well until now.

Besides, I DO wonder is there any documents which describe all or most of the method/functions of SmartConnector and how to use them, since now most of my understanding are come from trying to use the library files and figure out how the method in it would be used, as you know, the two samples in Mongoose NuGet is very limited.

Cheers

Austen

Reply
JeffBowman
Sisko JeffBowman Sisko
Sisko

Posted: ‎2016-08-18 10:53 AM

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

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

‎2016-08-18 10:53 AM

Hi Austen,

Other than the 'Developers Guide' and the 'Installation and Configuration Guide' there are no other formal documents such as listing and describing all the methods/functions. However, all the methods/functions in SmartConnector have Metadata attached to them, so you should be able to see descriptions of all these methods within Visual Studio.

If something is not clean, or you are wondering how to do a certain thing, please post here and we will try our best to answer, and subsequently update the metadata.

Also with the 'Cerberus' extension, I did a fairly complex way of sending the alarms to the master ES as instead of using native SmartConnector AlarmItems and events, I did it all with the included In-Memory Cache. That way I could avoid needing to have actual Value Items in the case that it was a 'system alarm' that doesn't have an attached value item. If you wanted, I could potentially show you the code for this, however, it would have to be noted that this was a proof of concept and it is not "cleaned" up for production. In fact, it is missing some functionality with filtering, but at the very least it would give you another example of how this can be done.

I would recommend updating to the current SmartConnector release of 2.1.83 (You can get these from www.smartconnectorserver.com). So you can get the latest released functionality.

-Jeff

Reply
sesa197614_brid
sesa197614_brid Schneider Alumni (Retired)
Schneider Alumni (Retired)

Posted: ‎2016-08-18 06:06 PM

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

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

‎2016-08-18 06:06 PM

Thanks Jeff:

About the Cerberus, extension, it will be helpful to me if you share with me the code.

Cheers.

-Austen

Reply
sesa197614_brid
sesa197614_brid Schneider Alumni (Retired)
Schneider Alumni (Retired)

Posted: ‎2016-08-22 10:41 PM

0 Likes
3
1103
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

‎2016-08-22 10:41 PM

Hi Jeff:

I tried to add EWS alarms in a SmartConnector EWS Server but failed, could you please help possible provide me some sample code for this?

I am thinking two ways ( for example, one digitalValue "Test", one ChangeofState Alarm "AlarmTest", when "Test" =false then generate a ChangeOfStatus alarm).

1. in EwsServerDataAdapter, to add points to EWS Server, using the AddValueItem() method to add a "Test" value item and using AddAlarmItem() to add a "AlarmTest" alarm items with the "EwsValueItem" binding "Test"

---In this way, there is no way to set the alarm trigger condition as what can be done in SBO, then how could be the alarm triggered?

2. in EwsServerDataAdapter, create all live alams according to the alarm information received from ES or third-party system, Is it the way and how?

Cheers

Austen Yin

Reply
JeffBowman
Sisko JeffBowman Sisko
Sisko

Posted: ‎2016-08-23 05:55 AM

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

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

‎2016-08-23 05:55 AM

Hi Austen,

See below for the answers to your questions:

  1. Unlike SBO, in SmartConnector there are no built in alarm types with alarm conditions The alarm condition is custom code that you write. For example if you want to make your own "Change of State Alarm". In your Ews Server Data Adapater.. You would created this logic in the "SetValues" method of a custom EWS Server or in your processor depending on what would work for you.
    if (theMonitoredValueItem.Value == true)
    {
        theAlarmItem.Activate();
    }
    else
    {
        theAlarmItem.Reset();
    }
    or something like that...

2. If you simply want to mirror the alarms another ES, and return it to the calling EWS Client. There are a few ways you can probably do this:

  • Create a custom EWS Server.. that when received a "GetAlarmEvents/GetUpdatedAlarmEvents" request.. Calls "GetAlarmEvents/GetUpdatedAlarmEvents" to the system in question.. .Then returns the same response
  • Do what I did in Cerberus, have a Processor that retrieves alarms and stores them in the In Memory cache, and create a custom EWS Server that when gets a "GetAlarmEvents/GetUpdatedAlarmEvents" request, returns the alarms out of the cache. I have attached this code to this response.. Keep in mind, it is proof of concept code.. and there are some issues with it (with regards to filtering) that I didn't fix yet.. So be careful if you try and use it.
  • Do something similar to above, but using ProcessorValues instead of the In Memory Cache.

-Jeff

Attachments
AlarmsUpdater.Processor.cs.zip
EnterpriseEnterpriseServer.cs.zip
Reply
sesa197614_brid
sesa197614_brid Schneider Alumni (Retired)
Schneider Alumni (Retired)

Posted: ‎2016-08-31 11:08 PM

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

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

‎2016-08-31 11:08 PM

Hi Jeff:

In order to poll the updated alarms from ES, I need some explanation about parameters of GetUpdatedAlarmEvents() function:

As the definition of the function is as:

GetUpdatedAlarmEvents(int? priorityFrom, int? priorityTo, string moreDataRef, string[] types, string lastUpdate)

My example would be:

String lastUpdat=null  // define as global variable

int PriorityFrom=0;

int PriorityTo=100;

String MoreDataRef="????"; // Please help explain what this parameter should be, I come across exception here

String[] types=c.GetAlarmEvenType(); //c is a connected EwsClient.

GetUpdatedAlarmEvents(priorityFrom, priorityTo, moreDataRef,types, lastUpdate);

lastUpdate=DateTime.Now.ToString();


Please help clarify.

Cheers

Austen


Reply
JeffBowman
Sisko JeffBowman Sisko
Sisko

Posted: ‎2016-09-01 07:29 AM

1 Like
0
1103
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content

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

‎2016-09-01 07:29 AM

Hi Austen,

The MoreDataRef is an EWS Parameter used when multiple pages of Alarms are returned. If you receive MoreDataAvailable = true and a MoreDataRef in your intial GetUpdatedAlarmEvents request, the thing to do would be to send another GetUpdatedAlarmEvents passing in the MoreDataRef from the previous response. This will get the next page of events. This would continue until MoreDataAvailable=false.

If you don't have a MoreDataRef, pass in an Empty string (and maybe null works as well?)

The definition of these parameters can be found in the EWS Specification if you are interested. The spec is posted in the Download Center of www.SmartConnectorServer.com.

However, I would definitely recommend using the AlarmItemReader class in Mongoose.Process.Ews in order to read your alarms. This class was created to help read alarms, it handles paging automatically, knows how to handle the NeedsRefresh parameter, and also knows when to use GetAlarmEvents vs GetUpdateAlarmEvents. It is reccommended to save the LastUpdate either in the In Memory Cache, or in a Processor Value (In Memory cache approach shown below).

              using (var ar = new AlarmItemReader()

                {

                    EwsEndpoint = ewsEndpoint,

                    AuthenticationScheme = authenticationScheme,

                    UserName = username,

                    Password = password,

                    LastUpdate = _cache.RetrieveItem("LastUpdate#SomeServerId"),

                    PriorityFrom = 0,

                    PriorityTo = 100

                })

                {

                    var response = ar.ReadData();

                    _prompts.AddRange(response.Prompts);

                    if (!response.Success) return;

                    if (!response.DataRead.Any()) return;

                    foreach (var alarm in response.DataRead)

                    {

                          // Handle the alarm events

                    }

                    _cache.AddOrUpdateItem(ar.LastUpdate, "LastUpdate#SomeServerId");

                }


-Jeff

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