Sign In Help
Schneider Electric
HelpSign In
Schneider Electric Exchange
  • Home
  • Collaborate
  • Develop
  • Shop
Home Collaborate Develop Shop Log in or Register Help

Invite a Co-worker

Send a co-worker an invite to the Exchange 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
  • Home
  • Collaborate
  • Exchange Community
  • :
  • EcoStruxure IT
  • :
  • EcoStruxure IT forum
  • :
  • Re: Data Center Expert Web Services Alarm Clears and Acknowledgements
Community Menu
  • Forums
    • By Topic
        • EcoStruxure IT
          • EcoStruxure IT forum
        • Industrial Automation
          • Industry Automation and Control Forum
          • Alliance System Integrators Forum
          • Machine Solutions in the Digital Transformation
          • EcoStruxure Automation Expert / IEC 61499 Forum
          • Industrial Edge Computing Forum
          • Level and Pressure Instrumentation Forum
          • Modicon User Group
          • PLC Club Indonesia
          • SEE Automation Club Forum
          • Fabrika ve Makina Otomasyonu Çözümleri
          • Форум по промышленной автоматизации СНГ
        • SCADA & Telemetry Solutions
          • Geo SCADA Expert Forum
          • SCADA and Telemetry Devices Forum
        • Power Distribution IEC
          • Power Distribution and Digital
          • Power Standards & Regulations
          • Paneelbouw & Energie Distributie
        • Power Distribution Softwares
          • EcoStruxure Power Design Forum
          • SEE Electrical Building+ Forum
          • LayoutFAST User Group Forum
        • Solutions for your Business
          • Solutions for Food & Beverage Forum
          • Solutions for Healthcare Forum
    • By Segment
        • Food & Beverage
          • Solutions for Food & Beverage Forum
        • Healthcare
          • Solutions for Healthcare Forum
      • EcoStruxure IT
        • EcoStruxure IT forum
      • Industrial Automation
        • Industry Automation and Control Forum
        • Alliance System Integrators Forum
        • Machine Solutions in the Digital Transformation
        • EcoStruxure Automation Expert / IEC 61499 Forum
        • Industrial Edge Computing Forum
        • Level and Pressure Instrumentation Forum
        • Modicon User Group
        • PLC Club Indonesia
        • SEE Automation Club Forum
        • Fabrika ve Makina Otomasyonu Çözümleri
        • Форум по промышленной автоматизации СНГ
      • SCADA & Telemetry Solutions
        • Geo SCADA Expert Forum
        • SCADA and Telemetry Devices Forum
      • Power Distribution IEC
        • Power Distribution and Digital
        • Power Standards & Regulations
        • Paneelbouw & Energie Distributie
      • Power Distribution Softwares
        • EcoStruxure Power Design Forum
        • SEE Electrical Building+ Forum
        • LayoutFAST User Group Forum
      • Solutions for your Business
        • Solutions for Food & Beverage Forum
        • Solutions for Healthcare Forum
      • Food & Beverage
        • Solutions for Food & Beverage Forum
      • Healthcare
        • Solutions for Healthcare Forum
  • Blogs
    • By Topic
        • Industrial Automation
          • Industrial Edge Computing Blog
          • Industry 4.0 Blog
          • Industrie du Futur France
        • SCADA & Telemetry Solutions
          • SCADA and Telemetry Blog
        • Power Distribution IEC
          • Power Events & Webinars
          • Power Foundations Blog
        • Power Distribution NEMA
          • NEMA Power Foundations Blog
        • Power Distribution Softwares
          • EcoStruxure Power Design Blog
          • SEE Electrical Building+ Blog
        • Solutions for your Business
          • Solutions for Food & Beverage Blog
          • Solutions for Healthcare Blog
          • Solutions for Retail Blog
        • Community experts & publishers
          • Publishers Community
    • By Segment
        • Food & Beverage
          • Solutions for Food & Beverage Blog
        • Healthcare
          • Solutions for Healthcare Blog
        • Retail
          • Solutions for Retail Blog
      • Industrial Automation
        • Industrial Edge Computing Blog
        • Industry 4.0 Blog
        • Industrie du Futur France
      • SCADA & Telemetry Solutions
        • SCADA and Telemetry Blog
      • Power Distribution IEC
        • Power Events & Webinars
        • Power Foundations Blog
      • Power Distribution NEMA
        • NEMA Power Foundations Blog
      • Power Distribution Softwares
        • EcoStruxure Power Design Blog
        • SEE Electrical Building+ Blog
      • Solutions for your Business
        • Solutions for Food & Beverage Blog
        • Solutions for Healthcare Blog
        • Solutions for Retail Blog
      • Community experts & publishers
        • Publishers Community
      • Food & Beverage
        • Solutions for Food & Beverage Blog
      • Healthcare
        • Solutions for Healthcare Blog
      • Retail
        • Solutions for Retail Blog
  • Ideas
        • Industrial Automation
          • Modicon Ideas & new features
        • SCADA & Telemetry Solutions
          • Geo SCADA Expert Ideas
          • SCADA and Telemetry Devices Ideas
  • Knowledge Center
    • Building Automation Knowledge Base
    • Industrial Automation How-to videos
    • Ask Exchange
    • Digital E-books
    • Success Stories Corner
    • Power Talks
  • Events & Webinars
  • Support
    • User Guide
    • Leaderboard
    • Releases Notes
How can we help?
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: 
49459members
Join Now
242747posts
Join Now

Data Center Expert Web Services Alarm Clears and Acknowledgements

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
Back to EcoStruxure IT forum
rtirak
Ensign rtirak
Ensign
‎2020-10-08 02:29 AM
0 Likes
15
942
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
‎2020-10-08 02:29 AM

Data Center Expert Web Services Alarm Clears and Acknowledgements

Currently we are working with DCE 2.7.2 and specifically I am working with the AlarmService and EventService trying to integrate the alarms from the DCE into our other monitoring product.

 

Using the WSDL web services I am able to actively poll the Alarms with a python script. My hang up is trying to update the alarm when it’s clearing or is acknowledged in DCE.

 

Right now I am making a call to the ISXCentralAlarmsService_v2_0.wsdl


getting All current alarms and there status, and creating those in our monitoring tool. However my question is what’s the proper way to handle when an alarm clears from the DCE or is Acknowledged?

 

What API endpoint can I use when calling to update current alarms each polling cycle?

 

 

Thanks in advance for your time and help.

 

 

 

 

 

Labels
  • Data Center Expert
Tags (1)
  • Tags:
  • english
Share
Reply
  • All forum topics
  • Previous Topic
  • Next Topic
15 Replies 15
Shaun
Ensign Shaun Ensign
Ensign
‎2020-10-08 03:29 AM
0 Likes
14
919
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
‎2020-10-08 03:29 AM

Re: Data Center Expert Web Services Alarm Clears and Acknowledgements

Hi,

 

I believe the getAlarmsDeltaHistory method in AlarmsService_v2.0 should fill this role - it takes a parameter secondsInPast and returns a list of alarms whose status has changed within that period. You should then be able to work from ISXCAlarm.ISXCAlarmState for a value of ACTIVE/RESOLVED.  (I must confess I'm not sure how 'acknowledged' is reflected in this).

 

When using an absolute time period like this, it's recommended to have some overlap between polls (eg, if you poll every 5 minutes, request 330 seconds of alarms rather than 300), and de-duplicate on alarm IDs.  Personally I'd be tempted to still call getAllActiveAlarms periodically (or at least when any poll has been missed) to catch-up.

 

(This method works best if you're working with polling periods of handfuls of minutes.  If you need very short polling periods, it's better to look into the publish/subscribe ws-eventing model - or simply receiving http-posts as a DCE alarm action.  If you need very long polling intervals, getAlarmHistory will work better than DeltaHistory)

Tags (1)
  • Tags:
  • english
Share
Reply
rtirak
Ensign rtirak
Ensign
‎2020-10-08 04:35 AM
0 Likes
0
910
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
‎2020-10-08 04:35 AM

Re: Data Center Expert Web Services Alarm Clears and Acknowledgements

@Shaun  Thanks for the information. To start I was looking at the Alarm Action HTTP Post as you suggested however it seems that I am unable to use any macros or add/edit values in the payload.

 

I then looked as you are suggesting the ws-eventing-module and the EventService with publish/subscrbe however the lack of documentation has not even allowed me to really get very far with it. Could you possibly provide me a suggestion or show me an example maybe in python or some other language is fine, of how I can use the ws-eventing-moudle successfully?

 

I have been unable to even use a client and successfully test Subscribing to the DCE to receive Events with say a postman api call.

 

 

After all of that I have turned to this form in hopes of getting some more information or maybe some example code that I can look at to help me get to the finish line? Any help would be appreciated.

Tags (1)
  • Tags:
  • english
Share
Reply
rtirak
Ensign rtirak
Ensign
‎2020-10-08 07:13 AM
0 Likes
12
891
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
‎2020-10-08 07:13 AM

Re: Data Center Expert Web Services Alarm Clears and Acknowledgements

Also it does seem everywhere I look, in the community and forums I see the following methods mentioned:

 

Alarms Service Methods

Device Groups Service Methods

Device Service Methods

Sensor Service Methods

 

 

 

 

But no where am I able to find, much talk about the Event Service, or examples it seems.

Tags (1)
  • Tags:
  • english
Share
Reply
Cory_McDonald
Lieutenant Cory_McDonald Lieutenant
Lieutenant
‎2020-10-08 07:32 AM
0 Likes
11
888
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
‎2020-10-08 07:32 AM

Re: Data Center Expert Web Services Alarm Clears and Acknowledgements

Hello @rtirak,

 

Data Center Expert web services documentation can be found here: https://www.apc.com/shop/us/en/products/StruxureWare-Data-Center-Expert-Web-Services-API/P-SFWEBSVC

 

Inside that ZIP file you will find the DCE_WS_EVENTING.doc and also the WSDL file: ISXCentralEventService_v1_0.

 

The Word document goes over example requests and responses and the WSDL file can be used to make the requests through a program.

 

Kind Regards,

Cory

Tags (1)
  • Tags:
  • english
Share
Reply
rtirak
Ensign rtirak
Ensign
‎2020-10-08 08:34 AM
0 Likes
10
880
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
‎2020-10-08 08:34 AM

Re: Data Center Expert Web Services Alarm Clears and Acknowledgements

@Cory_McDonald  Hi Corey, yes this is where I started I read over this document, and than attempted to use the wsdl service located at http://servername/eventing/ISXCentralServer

 

I tried to use the Documents subscription example to subscribe to events from the DCE like this:

 

1.1.1   Subscription Request

Request Method: POST

Request URI: /eventing/ae042c72-b667-12f3-d017-d0467f7788b2

Request Version: HTTP/1.1

Authorization: Basic

Dst Port: 80

 

<?xml version="1.0" encoding="UTF-8"?>

    <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsd="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">

        <soap:Header>

            <wsa:To>http://10.218.14.81:80/eventing/ae042c72-b667-12f3-d017-d0467f7788b2</wsa:To>

            <wsa:Action>http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe</wsa:Action>

            <wsa:FaultTo>

                <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous </wsa:Address>

            </wsa:FaultTo>

            <wsa:MessageID>urn:uuid:dd8e6236-99a7-3542-49c3-402d5c5c9b5d</wsa:MessageID>

            <wsa:ReplyTo>

                <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous </wsa:Address>

            </wsa:ReplyTo>

        </soap:Header>

        <soap:Body>

            <wse:Subscribe xmlns:wse="http://schemas.xmlsoap.org/ws/2004/08/eventing">

               <wse:EndTo>

                    <wsa:Address>http://159.215.12.212:8367/d283392f-9215-f305-800b-90d8c4458dfe </wsa:Address>

                </wse:EndTo>

                <wse:Delivery>

                    <wse:NotifyTo>

                        <wsa:Address>http://159.215.12.212:8367/f090b358-0617-51fa-a344-cf0359026634 </wsa:Address>

                        <wsa:ReferenceParameters>

                            <DeviceName>Data Center Expert</DeviceName>

                        </wsa:ReferenceParameters>

                    </wse:NotifyTo>

                </wse:Delivery>

                <wse:Expires>PT10M</wse:Expires>

                <wse:Filter Dialect="http://schemas.xmlsoap.org/ws/2006/02/devprof/Action"> http://www.apc.com/dpws/wsdl/ISXCentralEvents-v1/AlarmEvents/AlarmStatusChanged </wse:Filter>

            </wse:Subscribe>

        </soap:Body>

    </soap:Envelope>

 

 

 

 

In attempting to do this I am only ever able to get the following response

 

1. Postman just spins and and never stops and I never recieve anything back

 

 

 

or if I edit the xml improperly I get: 

 

 

2.

?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsd="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
    <soap:Body>
        <soap:Fault>
            <faultcode>
                <soap:Value>soap:Sender</soap:Value>
                <soap:SubCode>
                    <soap:Value>wsa:MessageInformationHeaderRequired</soap:Value>
                </soap:SubCode>
            </faultcode>
            <soap:Reason>
                <soap:Text>A required header representing a Message Addressing Property is not present</soap:Text>
            </soap:Reason>
            <soap:Detail>
                <wsa:ProblemHeaderQName>wsa:Action</wsa:ProblemHeaderQName>
            </soap:Detail>
        </soap:Fault>
    </soap:Body>
</soap:Envelope>
Tags (1)
  • Tags:
  • english
Share
Reply
Shaun
Ensign Shaun Ensign
Ensign
‎2020-10-08 09:20 AM
0 Likes
9
876
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
‎2020-10-08 09:20 AM

Re: Data Center Expert Web Services Alarm Clears and Acknowledgements

I'll admit I'm getting out of my depth on this one, so bear with me if this isn't in as much detail as we might like.  I've never tried this either, and so far it's giving me a whole new appreciation for websockets+json!

 

The uuid in the URL you're using (ae042c72-b667-12f3-d017-d0467f7788b2) is an example, and shouldn't be valid on your machine.  TYou can find the end-point for your device by visiting /eventing/ISXCentralServer - but as it's generated at boot, it will change so it's best to implement discovery for this:

 

This is in the document as 3.8.1; Device Profile Request.  Highligted in the documented is the wsa:MessageID  - this should be yours to create (it's a short-lived transaction identifier.  You send a message with a MessageID, and you get a response with RelatedTo header bearing the same token. It's intended this is randomly generated for each message, to match the response to its origin. If properly handled this allows for replies to come out-of-order.)

 

The response to this is 3.8.2 Device Profile Response.  You should see your MessageID as the Header.RelatesTo.  But more notably, towards the end of the reponse you'll see a Relationship section in the Body which includes wsa:Address - this should be your request URL in the Subscription Request.

 

I haven't found a python library that'll make our lives any easier here.  I usually use 'zeep' for soap/wsdl, but WS-Eventing is a mammoth spec which is usually handled by larger frameworks (eg Apache Axis).

Tags (1)
  • Tags:
  • english
Share
Reply
rtirak
Ensign rtirak
Ensign
‎2020-10-08 10:08 AM
0 Likes
0
873
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
‎2020-10-08 10:08 AM

Re: Data Center Expert Web Services Alarm Clears and Acknowledgements

@Shaun 

 

So I am able to see those values that you pointed out. I guess my first question is, am I correct in my understanding that I should be able to subscribe to events from the DCE using this Service, and all devices that alarm in the DCE alarm console I would be able to see those events?

 

Or would I have to subscribe to every device individually in order to get the events from each and everyone even though they all also report to the DCE server?

 

 

Yes I also usually use zeep when using WSDL/SOAP, however all my efforts I had failed so far.

 

As you stated, "You can find the end-point for your device by visiting /eventing/ISXCentralServer - but as it's generated at boot, it will change so it's best to implement discovery for this" I did notice this thanks for pointing it as I almost forgot.

 

 

 

 

Tags (1)
  • Tags:
  • english
Share
Reply
rtirak
Ensign rtirak
Ensign
‎2020-10-08 10:11 AM
0 Likes
0
872
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
‎2020-10-08 10:11 AM

Re: Data Center Expert Web Services Alarm Clears and Acknowledgements

@Shaun 

 

Also I VERY VERY much appreciate any and all help. So No worries at all, take your time, and I will take any advice / help you or anyone has to offer.

 

Thanks!

Tags (1)
  • Tags:
  • english
Share
Reply
rtirak
Ensign rtirak
Ensign
‎2020-10-08 10:41 AM
0 Likes
6
869
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
‎2020-10-08 10:41 AM

Re: Data Center Expert Web Services Alarm Clears and Acknowledgements

When I attempt to run the example in 3.8.1 Device Profile request. I am sending a POST request to http://myserver.com/eventing/dceUUID with Postman. In the body is a SOAP envelop like the one in 3.8.1 however mine looks like this as it has my values in it:

 

 

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsd="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
    <soap:Header>
        <wsa:To>urn:uuid:ISXCentralServer</wsa:To>
        <wsa:Action>http://schemas.xmlsoap.org/ws/2004/09/transfer/Get</wsa:Action>
        <wsa:FaultTo>
            <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous </wsa:Address>
        </wsa:FaultTo>
        <wsa:MessageID>urn:uuid:331993bd-a3e6-24a3-44a0-98ec4d6a6b14</wsa:MessageID>
        <wsa:ReplyTo>
            <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous </wsa:Address>
        </wsa:ReplyTo>
    </soap:Header>
    <soap:Body/>
</soap:Envelope>
 
 
I send that and I get a 500 response like this:
 
 
 
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsd="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
    <soap:Body>
        <soap:Fault>
            <faultcode>
                <soap:Value>soap:Receiver</soap:Value>
            </faultcode>
            <soap:Reason>
                <soap:Text>More than 10000 channels open. Exception to prevent memory leak</soap:Text>
            </soap:Reason>
        </soap:Fault>
    </soap:Body>
</soap:Envelope>
 
 
Seems pretty straight forward like I should be able to do this and get a response but I just get the above error response
 
Tags (1)
  • Tags:
  • english
Share
Reply
Cory_McDonald
Lieutenant Cory_McDonald Lieutenant
Lieutenant
‎2020-10-08 04:12 PM
0 Likes
5
856
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
‎2020-10-08 04:12 PM

Re: Data Center Expert Web Services Alarm Clears and Acknowledgements

Hello @rtirak,

 

Sorry for the confusion, I should have read all of the history of the post in detail instead of skimming.  I do not believe that you can use the Eventing service within SOAP UI or Postman after looking through it.  I believe they need to come from an HTTP Post server so that it can accept the responses.  Unfortunately I do not have any experience with HTTP Posts.

 

For your other question, about acknowledge alarms or hidden alarms, you can use the service for getAcknowledgementHistoryForAlarm which is outlined in the DCE_WS_DEVELOPMENT.doc file.

 

Start by polling the system for all active alarms:

 

http://{{DCE_Server_IP}}/integration/services/ISXCentralAlarmsService_v2_0
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:isx="http://www.apc.com/stdws/xsd/ISXCentralAlarms-v2">
    <soapenv:Header/>
    <soapenv:Body>
        <isx:getAllActiveAlarmsRequest>
            <!--Optional:-->
            <isx:locale>?</isx:locale>
        </isx:getAllActiveAlarmsRequest>
    </soapenv:Body>
</soapenv:Envelope>

 

Request Response:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soap:Body xmlns:ns1="http://www.apc.com/stdws/xsd/ISXCentralAlarms-v2">
        <ns1:getAllActiveAlarmsResponse>
            <ns1:ArrayOfISXCAlarm>
                <ns2:ISXCAlarm xmlns:ns2="http://www.apc.com/stdws/xsd/ISXCentral/2009/10">
                    <ns2:ISXCElement>
                        <ns2:ISXCElementType>ALARM</ns2:ISXCElementType>
                        <ns2:id>nbErrorCond_maintenance_Skc9QrKk</ns2:id>
                    </ns2:ISXCElement>
                    <ns2:activeTime>2020-07-18T14:26:24.267-04:00</ns2:activeTime>
                    <ns2:ISXCAlarmSeverity>INFORMATIONAL</ns2:ISXCAlarmSeverity>
                    <ns2:ISXCAlarmState>ACTIVE</ns2:ISXCAlarmState>
                    <ns2:description>Notifications have been disabled for maintenance on this device.</ns2:description>
                    <ns2:deviceID>B9C25C7_nbSNMPEnc7DCD36FA</ns2:deviceID>
                    <ns2:recommendedAction></ns2:recommendedAction>
                    <ns2:resolvedTime xsi:nil="true" />
                    <ns2:sensorID>B9C25C7_nbSNMPEnc7DCD36FA_MAINTENANCEERROR</ns2:sensorID>
                </ns2:ISXCAlarm>

 

You can then grab each of id's of the alarms and use the below steps to determine if they are still active or not.

 

Get Request:

GET:  http://{{DCE_Server_IP}}/integration/services/ISXCentralAlarmsService_v2_0?
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:isx="http://www.apc.com/stdws/xsd/ISXCentralAlarms-v2">
   <soapenv:Header/>
   <soapenv:Body>
      <isx:getAcknowledgmentForAlarmRequest>
         <isx:alarmID>B1db239_nbErrorCond_5AE3CEC1</isx:alarmID>
      </isx:getAcknowledgmentForAlarmRequest>
   </soapenv:Body>
</soapenv:Envelope>

 

Response:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soap:Body xmlns:ns1="http://www.apc.com/stdws/xsd/ISXCentralAlarms-v2">
        <ns1:getAcknowledgmentForAlarmResponse>
            <ns1:alarmID>B1db239_nbErrorCond_5AE3CEC1</ns1:alarmID>
            <ns1:isAlarmAlertSuppressed>false</ns1:isAlarmAlertSuppressed>
            <ns1:isAlarmHidden>false</ns1:isAlarmHidden>
        </ns1:getAcknowledgmentForAlarmResponse>
    </soap:Body>
</soap:Envelope>

 

You can see that there are two values returned for "isAlarmAlertSuppressed" and "isAlarmHidden".

 

In regards to the status on an alarm, you can see the if an alarm is still active by taking the alarmID and using that with the getAlarmByID request.

 

Get Request:

GET:  http://{{DCE_Server_IP}}/integration/services/ISXCentralAlarmsService_v2_0

 

Request Body:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:isx="http://www.apc.com/stdws/xsd/ISXCentralAlarms-v2">
    <soapenv:Header/>
    <soapenv:Body>
        <isx:getAlarmByIDRequest>
            <isx:ISXCElementID>B1db239_nbErrorCond_5AE3CEC1</isx:ISXCElementID>
            <!--Optional:-->
            <isx:locale>?</isx:locale>
        </isx:getAlarmByIDRequest>
    </soapenv:Body>
</soapenv:Envelope>

 

Response:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soap:Body xmlns:ns1="http://www.apc.com/stdws/xsd/ISXCentralAlarms-v2">
        <ns1:getAlarmByIDResponse>
            <ns1:ISXCAlarm>
                <ns2:ISXCElement xmlns:ns2="http://www.apc.com/stdws/xsd/ISXCentral/2009/10">
                    <ns2:ISXCElementType>ALARM</ns2:ISXCElementType>
                    <ns2:id>B1db239_nbErrorCond_5AE3CEC1</ns2:id>
                </ns2:ISXCElement>
                <ns2:activeTime xmlns:ns2="http://www.apc.com/stdws/xsd/ISXCentral/2009/10">2020-09-01T14:29:33.931-04:00</ns2:activeTime>
                <ns2:ISXCAlarmSeverity xmlns:ns2="http://www.apc.com/stdws/xsd/ISXCentral/2009/10">WARNING</ns2:ISXCAlarmSeverity>
                <ns2:ISXCAlarmState xmlns:ns2="http://www.apc.com/stdws/xsd/ISXCentral/2009/10">ACTIVE</ns2:ISXCAlarmState>
                <ns2:description xmlns:ns2="http://www.apc.com/stdws/xsd/ISXCentral/2009/10">The battery measured life test indicates that the battery is near the end of life. The battery should be replaced.</ns2:description>
                <ns2:deviceID xmlns:ns2="http://www.apc.com/stdws/xsd/ISXCentral/2009/10">B1db239_nbSNMPEnc06CCB693</ns2:deviceID>
                <ns2:recommendedAction xmlns:ns2="http://www.apc.com/stdws/xsd/ISXCentral/2009/10">Recommended Action: Replace all faulty batteries. You can use the APC Product Selectors (http://www.apc.com/go/direct/index.cfm?tag=selectors) page to order new batteries.</ns2:recommendedAction>
                <ns2:resolvedTime xmlns:ns2="http://www.apc.com/stdws/xsd/ISXCentral/2009/10" xsi:nil="true" />
                <ns2:sensorID xmlns:ns2="http://www.apc.com/stdws/xsd/ISXCentral/2009/10"></ns2:sensorID>
            </ns1:ISXCAlarm>
        </ns1:getAlarmByIDResponse>
    </soap:Body>
</soap:Envelope>

 

Using the ISXCAlarmState value, you can then know if the alarm is still active or not.  When an alarm is resolved, there will also be a value for "resolvedTime".

 

Not sure if this will work for your setup, but you should be able to request All alarms, run a comparison with what you are still showing as active, and then request updates (getAlarmByID) for the ones that are missing from the most recent pull, which means that they should have cleared.

 

Regards,

Cory

Tags (1)
  • Tags:
  • english
Share
Reply
rtirak
Ensign rtirak
Ensign
‎2020-10-09 02:09 AM
0 Likes
0
825
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
‎2020-10-09 02:09 AM

Re: Data Center Expert Web Services Alarm Clears and Acknowledgements

Hi Corey, 

 

I appreciate your help sir!

 

Here is what I am currently doing with python. I am just running this every 5 minutes. Here is the decision block of the python:

 

 

 

#Iterate through each alarm result
    for alarms in response:

        #Pull Alarm ID specifically so it can be sent to getDeviceName from ID
        deviceID = alarms['deviceID']
        #Call getDeviceName in order to take the alarms deviceID and populate its Hostname in the UIM alarm
        deviceHostName = getDeviceName(deviceID)

        #If Alarm is No Longer Active Clear it from the UIM Console.
        if alarms['ISXCAlarmState'] == 'RESOLVED':
            #source of alarm
            source = deviceHostName
            #alarm subsystem id if unsure use 1.1
            ss_id = '2.35'
            #alarm suppression key
            supp_key = alarms['deviceID'] + '/' + alarms['ISXCElement']['id']
            #alarm level e.g. clear, warning, minor, major, critical
            level = 'clear'
            #alarm message / text detail
            msg = alarms['description'] + 'HAS CLEARED'

            #Send Alarm Clear
            create_alarm(uim_ws, source, ss_id, supp_key, level, msg)
        
        #Check for Alarm State and Severity to map UIM Severity properly, if Failure then critical alarm
        elif alarms['ISXCAlarmState'] == 'ACTIVE' and alarms['ISXCAlarmSeverity'] == 'FAILURE':
            #source of alarm
            source = deviceHostName
            #alarm subsystem id if unsure use 1.1
            ss_id = '2.35'
            #alarm suppression key
            supp_key = alarms['deviceID'] + '/' + alarms['ISXCElement']['id']
            #alarm level e.g. clear, warning, minor, major, critical
            level = 'major'
            #alarm message / text detail
            msg = alarms['description']

            #Send Alarm
            create_alarm(uim_ws, source, ss_id, supp_key, level, msg)

        #if Informational alarm then minor alarm in UIM
        elif alarms['ISXCAlarmState'] == 'ACTIVE' and alarms['ISXCAlarmSeverity'] == 'WARNING' or alarms['ISXCAlarmSeverity'] == 'INFORMATIONAL':
            #source of alarm
            source = deviceHostName
            #alarm subsystem id if unsure use 1.1
            ss_id = '2.35'
            #alarm suppression key
            supp_key = alarms['deviceID'] + '/' + alarms['ISXCElement']['id']
            #alarm level e.g. clear, warning, minor, major, critical
            level = 'minor'
            #alarm message / text detail
            msg = alarms['description']

            #Send Alarm
            create_alarm(uim_ws, source, ss_id, supp_key, level, msg)

        #If Alarm is No Longer Active Clear it from the UIM Console.
        elif alarms['ISXCAlarmState'] != 'ACTIVE':
            #source of alarm
            source = deviceHostName
            #alarm subsystem id if unsure use 1.1
            ss_id = '2.35'
            #alarm suppression key
            supp_key = alarms['deviceID'] + '/' + alarms['ISXCElement']['id']
            #alarm level e.g. clear, warning, minor, major, critical
            level = 'clear'
            #alarm message / text detail
            msg = alarms['description'] + 'HAS CLEARED'

            #Send Alarm Clear
            create_alarm(uim_ws, source, ss_id, supp_key, level, msg)
 
 
So what I am doing is every 5 minutes requesting all alarms as you suggest taking the JSON output and checking each alarm.
 
Specifically one of the keys I am looking at as I believe you suggest is ISXCAlarmState I am checking that State and if the alarm is RESOLVED than I am sending the clear message to the other tool in order to clear the alarm from that tools alarm console.
 
I guess my question is, so when an alarm comes in to EDC and lets say its been active for 4 hours. And in that 4 hours the issue has been no fixed. The Device or DCE, does it send another separate JSON record of the alarm to the console with resolved.
 
Or is it updating the Original alarm record now for the ISXCAlarmState field to now read resolved?
Tags (1)
  • Tags:
  • english
Share
Reply
rtirak
Ensign rtirak
Ensign
‎2020-10-09 02:31 AM
0 Likes
3
823
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
‎2020-10-09 02:31 AM

Re: Data Center Expert Web Services Alarm Clears and Acknowledgements

@Cory_McDonald 

 

So if I put your suggestion in place, wont that fail when there are no active alarms? So lets use your steps with an example

 

So this will run("POLL") every 5 minutes.

1. It requests alarm list and resturns two alarms

2. It takes the IDs of the alarms check and sees they are still active alarms.

3. It sends the alerts to the other monitoring console so alerts are generated on the other tools console one for each alarm.

4. Script ends.

 

waits 5 minutes then runs again

1. It requests all active alarms and now there is only 1 that returns

2. Right here it now has no way to know which of the two alarms cleared from its last run as that info is gone, so its cant send a clear to the other tool to clear the proper alarm from the board.

 

 

 

Unless your talking about caching the results of each time the script runs so that it can check those values at next run time. This is where I was hoping that being able to do something with the Eventing Service might help.

 

Please let me know if I am miss understanding or how this would work, as if your way will, I would like to attempt to put it in place.

 

Thanks!

 

 

Tags (1)
  • Tags:
  • english
Share
Reply
Cory_McDonald
Lieutenant Cory_McDonald Lieutenant
Lieutenant
‎2020-10-09 05:45 AM
0 Likes
2
813
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
‎2020-10-09 05:45 AM

Re: Data Center Expert Web Services Alarm Clears and Acknowledgements

@rtirak,

 

Yes, when I referenced comparing the current results to previous results, this would require a DB or arrays or something to store the data and compare it to the next poll to find out what is missing or added.

 

If reference to the SOAP Eventing service, my recommendation is that you reach out to your local sales team and request a custom service for integration.  Someone should then be able to reach out to you to discuss any project costs to perform the actions.  This recommendation comes due to the fact that you are likely unable to use Postman or Soap UI for testing since it requires an HTTP Post server for the requests and responses.

 

Regards,

Cory

Tags (1)
  • Tags:
  • english
Share
Reply
rtirak
Ensign rtirak
Ensign
‎2020-10-22 01:57 AM
0 Likes
1
674
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
‎2020-10-22 01:57 AM

Re: Data Center Expert Web Services Alarm Clears and Acknowledgements

So for now I took @Shaun recommendation, what I have is a python script that is running every 5 minutes and I am first getting all active alarms.

 

than I am also then running the getAlarmHistory call for the last 330 seconds and updating any existing alarms that maybe have changed in the last 6 minutes.

 

than the script sits and a schedule task 5 minutes later runs it again. And that’s my polling period/run time.

 

I guess my question is, does this seem sound for now? Will I miss anything running this way?

 

also thanks again everyone for there Input.

 

 

 

Tags (1)
  • Tags:
  • english
Share
Reply
Cory_McDonald
Lieutenant Cory_McDonald Lieutenant
Lieutenant
‎2020-11-01 07:40 AM
0 Likes
0
550
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Email to a Friend
  • Report Inappropriate Content
‎2020-11-01 07:40 AM

Re: Data Center Expert Web Services Alarm Clears and Acknowledgements

@rtirak,

 

I will leave it up to others to comment, as I do not have direct experience with this sort of solution.  Hopefully others can comment on if a solution like this worked for them.  It appears, per logic, that it should cover what you need.

 

Regards,

Cory

Tags (1)
  • Tags:
  • english
Share
Reply
Top Experts
User Count
APC_Steve
Lt. Commander APC_Steve Lt. Commander
2
GavanOB
Lieutenant GavanOB Lieutenant
1
lasalle_1
Crewman lasalle_1
1
Jef
Commander Jef Commander
1
tjlaw
Lieutenant JG tjlaw Lieutenant JG
1
See More Top Experts
Find a Service Provider
Find a certified partner to help you address your integration, installation, maintenance and project needs.
View all Providers
Support

Have a question? Please contact us with details, and we will respond.

Contact Us
FAQ

Look through existing questions to find popular answers.

Learn More
About

Want to know more about Exchange and its possibilities?

Learn More

Full access is just steps away!

Join Exchange for FREE and get unlimited access to our global community of experts.

Connect with Peers & Experts

Discuss challenges in energy and automation with 30,000+ experts and peers.

Get Support in Our Knowledge Base

Find answers in 10,000+ support articles to help solve your product and business challenges.

Ask Questions. Give Solutions

Find peer based solutions to your questions. Provide answers for fellow community members!

Register today for FREE

Register Now

Already have an account?Log in

About Us FAQ Terms & Conditions Privacy Notice Change your cookie settings
©2020, Schneider Electric