• 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.
    • S
      shaun
      last edited by

      Hi,

      I need to give a customer access to edit event detector threshold values via a dashboard.

      Is there a way I can do this?

      Is there something in the API I can use for this, or even an example I could look at?

      Ideally it'd need to be dynamic so something like, for a given device, list all the event detectors that exist so you can select one and edit it.

      Thanks
      Shaun

      1 Reply Last reply Reply Quote 0
      • 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