• Recent
    • Tags
    • Popular
    • Register
    • Login

    Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

    Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website Mango 5 Documentation Website

    adjusting event detector thresholds via dashboard

    Dashboard Designer & Custom AngularJS Pages
    6
    13
    3.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • JoelHaggarJ
      JoelHaggar
      last edited by

      We started working on this very thing last week and will be adding in the API endpoints needed and making some Angular directives. The only think I'm not clear on will be permissions. Currently for a user to change a event detector setting they would need edit permissions on the data point. Would that be ok or would you need a separate permission level just to edit the event detectors? How soon do you need to supply this to your customer? I think it's going to be at least a couple weeks before we release it.

      1 Reply Last reply Reply Quote 1
      • phildunlapP
        phildunlap
        last edited by phildunlap

        Hi Shaun,

        There are some existing options already. Have a look in swagger at the event-detectors endpoints:

        0_1506371943710_eventDetectors.png

        Alternatively script contexts have the context object JsonEmport documented in the in-mango "Mango JavaScript" help. One can use that to make any changes that would be possible through the JSON emport utilities, but it's not as direct as the API. There is a script-utils endpoint that enables you to run scripts through the API.

        1 Reply Last reply Reply Quote 0
        • S
          shaun
          last edited by

          Hi @JoelHaggar, @phildunlap
          Thanks for the help...

          Joel, we'd be looking to implement as soon as the feature was available :)
          If its not too much trouble, please let me know when this is ready for testing - I'd be happy to test this ahead of a production release!

          As for permissions, if you did have the ability to permit changes to event detectors separate to data points, that would give some extra security and protection from users, but it would probably be fine to give them edit permission to the data point.

          Phil, this sounds like it might be an option for us in the event that our customer requires us to have this implemented before the work Joel talks about is ready.

          Thanks
          Shaun

          1 Reply Last reply Reply Quote 0
          • MattFoxM
            MattFox
            last edited by

            I concur, I will require this ability myself for custom alarms set by individual users for datapoints reaching certain values. Please do keep us updated.

            Do not follow where the path may lead; go instead where there is no path.
            And leave a trail - Muriel Strode

            1 Reply Last reply Reply Quote 0
            • MattFoxM
              MattFox
              last edited by

              Hello again gentlemen,
              Just following up on this development. Is there any further news regarding release time? Also, how do I enable the event detector api? Am running mango 3.2.2 and I cannot see the option in the swagger/index API list.

              Fox

              Do not follow where the path may lead; go instead where there is no path.
              And leave a trail - Muriel Strode

              1 Reply Last reply Reply Quote 0
              • phildunlapP
                phildunlap
                last edited by

                Hello Mr. Fox,

                Is it possible you have the env.properties entry

                swagger.mangoApiVersion=v1

                when you could perhaps have

                swagger.mangoApiVersion=v[12]

                ? I believe an update on other things event detector related will be forthcoming.

                1 Reply Last reply Reply Quote 0
                • MattFoxM
                  MattFox
                  last edited by

                  That did the trick! Many thanks Mr Dunlap!

                  Do not follow where the path may lead; go instead where there is no path.
                  And leave a trail - Muriel Strode

                  1 Reply Last reply Reply Quote 0
                  • Jared WiltshireJ
                    Jared Wiltshire
                    last edited by

                    I definitely have adding a component to modify the event detectors on my list!

                    Developer at Radix IoT

                    1 Reply Last reply Reply Quote 1
                    • Jared WiltshireJ
                      Jared Wiltshire
                      last edited by

                      @MattFox @shaun

                      There's now a component for getting and saving event detectors - <ma-point-event-detector>.
                      Here's an example of how to use it.

                      <ma-watch-list-get ng-model="designer.watchList" parameters="designer.parameters" on-points-change="designer.points = $points" id="5ea22e95-d861-4b05-ae99-0a50106bc47b" watch-list-xid="WL_ac76beaa-10f4-40f0-b714-d0fda1c1e801"></ma-watch-list-get>
                      <div class="ma-designer-root" id="db465455-2b87-4245-af82-86e1bb7b0434" style="width: 1366px; height: 768px; position: relative;">
                          <ma-point-value id="349d93d6-89ed-4c42-9e14-784e1e64263b" enable-popup="hide" style="position: absolute; left: 277.453px; top: 162px;" point="designer.points | filter:{name:'Voltage'}:true | maFirst"></ma-point-value>
                          <ma-point-event-detector point="designer.points | filter:{name:'Voltage'}:true | maFirst" detector-type="LOW_LIMIT" alarm-level="CRITICAL" detector="criticalLowDetector"></ma-point-event-detector>
                          <ma-point-event-detector point="designer.points | filter:{name:'Voltage'}:true | maFirst" detector-type="LOW_LIMIT" alarm-level="WARNING" detector="warningLowDetector"></ma-point-event-detector>
                          <ma-point-event-detector point="designer.points | filter:{name:'Voltage'}:true | maFirst" detector-type="HIGH_LIMIT" alarm-level="WARNING" detector="warningHighDetector"></ma-point-event-detector>
                          <ma-point-event-detector point="designer.points | filter:{name:'Voltage'}:true | maFirst" detector-type="HIGH_LIMIT" alarm-level="CRITICAL" detector="criticalHighDetector"></ma-point-event-detector>
                          
                          <md-input-container id="207b9fc3-d8d9-457d-b667-cc02c347f854" style="position: absolute; left: 77px; top: 110px;">
                              <label>Critical low level</label>
                              <input type="number" ng-model-options="{debounce: 1000}" ng-model="criticalLowDetector.limit" ng-change="criticalLowDetector.saveAndNotify();">
                          </md-input-container>
                          <md-input-container id="5ad3a950-d19f-4879-aed4-5d28dd70567d" style="position: absolute; left: 77px; top: 174px;">
                              <label>Warning low level</label>
                              <input type="number" ng-model-options="{debounce: 1000}" ng-model="warningLowDetector.limit" ng-change="warningLowDetector.saveAndNotify();">
                          </md-input-container>
                          <md-input-container id="5f3c58da-5323-4881-a90d-1477c72b66d1" style="position: absolute; left: 386px; top: 110px;">
                              <label>Warning high level</label>
                              <input type="number" ng-model-options="{debounce: 1000}" ng-model="warningHighDetector.limit" ng-change="warningHighDetector.saveAndNotify();">
                          </md-input-container>
                          <md-input-container id="9f82d6c8-5f53-4a72-a53e-09f54a2cf959" style="position: absolute; left: 387px; top: 174px;">
                              <label>Critical high level</label>
                              <input type="number" ng-model-options="{debounce: 1000}" ng-model="criticalHighDetector.limit" ng-change="criticalHighDetector.saveAndNotify();">
                          </md-input-container>
                      </div>
                      

                      Developer at Radix IoT

                      1 Reply Last reply Reply Quote 0
                      • MattFoxM
                        MattFox
                        last edited by

                        Christmas has come early, Thanks @Jared-Wiltshire! Do I need to retrieve this directive via the beta channel or is there a new update available?

                        Do not follow where the path may lead; go instead where there is no path.
                        And leave a trail - Muriel Strode

                        1 Reply Last reply Reply Quote 0
                        • Jared WiltshireJ
                          Jared Wiltshire
                          last edited by Jared Wiltshire

                          Its a full production release. Sorry I should have mentioned.
                          Its in UI v3.2.8. Also install Mango API 3.2.4.

                          It will create a new point event detector when they don't exist or update an existing one with the same alarm level.

                          Developer at Radix IoT

                          ricardoR 1 Reply Last reply Reply Quote 0
                          • ricardoR
                            ricardo @Jared Wiltshire
                            last edited by

                            @jared-wiltshire Is there any way to add dynamic name of event detector using $index.

                            <div ng-repeat="point in soapDispenserLevel">
                                  <ma-point-event-detector point="point" detector-type="LOW_LIMIT" alarm-level="DO_NOT_LOG" detector="soapDispenserLevel{{$index}}" ></ma-point-event-detector>
                            </div>
                            
                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post