• 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

    Notes on specific datapoint / Annotation on specific datapoint / Annotation on chart

    User help
    4
    18
    4.3k
    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.
    • Will GellerW
      Will Geller
      last edited by Will Geller

      Hi Morris,

      Before looking too far into that you may want to take a look at the <ma-annotate-chart> component. It works with the watchlist system, you will need to set up a watchlist with the data points you want to annotate, and check the points so they show up on the chart below. You can also configure the axis and chart design using the watchlist page and it will update on the <ma-annotate-chart>.

      You would then use this code on your custom page:

      <ma-watch-list-get watch-list-xid="REPLACE" ng-model="thisWatchList" on-points-change="points = $points"></ma-watch-list-get>
      
      <ma-annotate-chart flex points="points" watch-list="thisWatchList" export="true" to="dateBar.to" from="dateBar.from" rollup-type="dateBar.rollupType" rollup-interval-number="dateBar.rollupIntervals" rollup-interval-period="dateBar.rollupIntervalPeriod" chart-height="400px"></ma-annotate-chart>
      

      You can get the watchlist xid from the edit watchlist page. Note you will need the latest advancedComponents module to get this component. I am not sure if it will help you export the data as CSV but it does handle the UI for storing data point annotations on particular timestamps without needing to create extra alphanumeric data points.

      Cheers
      Will

      Infinite Automation - UI Developer

      1 Reply Last reply Reply Quote 0
      • M
        morris
        last edited by

        Dear Will, I was struggling to plot out charts using <ma-watch-list-chart> and <ma-annotate-chart> and no charts is rendered. Both in Chrome and Firefox, I noted that there is an error: Following is the error message from Chrome:

        TypeError: Cannot read property 'chartConfig' of null
            at AnnotateChartController.$ctrl.filterPoints (http://localhost:8080/modules/advancedComponents/web/directives/annotateChart/annotateChart.js?v=1501676475:499:45)
            at AnnotateChartController.$ctrl.$onChanges (http://localhost:8080/modules/advancedComponents/web/directives/annotateChart/annotateChart.js?v=1501676475:491:23)
            at Array.h (http://localhost:8080/modules/mangoUI/web/vendor/angular/angular.js?v=1501676475:85:251)
            at http://localhost:8080/modules/mangoUI/web/vendor/angular/angular.js?v=1501676475:59:144
            at m.$eval (http://localhost:8080/modules/mangoUI/web/vendor/angular/angular.js?v=1501676475:148:347)
            at m.$apply (http://localhost:8080/modules/mangoUI/web/vendor/angular/angular.js?v=1501676475:149:52)
            at Array.P (http://localhost:8080/modules/mangoUI/web/vendor/angular/angular.js?v=1501676475:59:80)
            at m.$digest (http://localhost:8080/modules/mangoUI/web/vendor/angular/angular.js?v=1501676475:147:83)
            at m.$apply (http://localhost:8080/modules/mangoUI/web/vendor/angular/angular.js?v=1501676475:149:113)
            at http://localhost:8080/modules/mangoUI/web/vendor/angular/angular.js?v=1501676475:162:3
        

        All my modules were just updated. I can still plot the chart if I get each of the points using point-xid from watchlist and plot with <ma-serial-chart>. My watch list is a static watch list with a list of points and is as follow:

        [
           {
              "enabled":true,
              "templateXid":"Power",
              "loggingProperties":{
                 "tolerance":0,
                 "discardExtremeValues":false,
                 "discardLowLimit":-1.7976931348623157e+308,
                 "discardHighLimit":1.7976931348623157e+308,
                 "loggingType":"INTERVAL",
                 "intervalLoggingType":"AVERAGE",
                 "intervalLoggingPeriod":{
                    "periods":3,
                    "type":"SECONDS"
                 },
                 "overrideIntervalLoggingSamples":false,
                 "intervalLoggingSampleWindowSize":0,
                 "cacheSize":1
              },
              "textRenderer":{
                 "useUnitAsSuffix":true,
                 "unit":"kW",
                 "renderedUnit":"kW",
                 "format":"0.00",
                 "suffix":"",
                 "type":"textRendererAnalog"
              },
              "chartRenderer":{
                 "timePeriod":{
                    "periods":1,
                    "type":"DAYS"
                 },
                 "type":"chartRendererImage"
              },
              "modelType":"DATA_POINT",
              "validationMessages":[
        
              ],
              "id":212,
              "dataSourceId":82,
              "setPermission":"superadmin",
              "chartColour":"",
              "rollup":"NONE",
              "plotType":"SPLINE",
              "purgeOverride":false,
              "purgePeriod":{
                 "periods":1,
                 "type":"YEARS"
              },
              "pointLocator":{
                 "offset":0,
                 "values":[
        
                 ],
                 "max":120,
                 "min":0.1,
                 "period":0,
                 "attractionPointXid":"internal_mango_num_active_user_sessions",
                 "maxChange":0.2,
                 "change":0,
                 "amplitude":0,
                 "volatility":0,
                 "startValue":"101",
                 "roll":false,
                 "modelType":"PL.VIRTUAL",
                 "dataType":"NUMERIC",
                 "changeType":"BROWNIAN",
                 "settable":false,
                 "relinquishable":false
              },
              "readPermission":"user",
              "pointFolderId":2,
              "unit":"kW",
              "dataSourceXid":"DS_Chiller1_VDS",
              "renderedUnit":"kW",
              "integralUnit":"kW·s",
              "deviceName":"Chiller1",
              "useIntegralUnit":false,
              "useRenderedUnit":false,
              "dataSourceName":"Chiller1_VDS",
              "name":"ActivePower",
              "xid":"DP_Chiller1_ActivePower"
           },
           {
              "enabled":true,
              "templateXid":"Power",
              "loggingProperties":{
                 "tolerance":0,
                 "discardExtremeValues":false,
                 "discardLowLimit":-1.7976931348623157e+308,
                 "discardHighLimit":1.7976931348623157e+308,
                 "loggingType":"INTERVAL",
                 "intervalLoggingType":"AVERAGE",
                 "intervalLoggingPeriod":{
                    "periods":3,
                    "type":"SECONDS"
                 },
                 "overrideIntervalLoggingSamples":false,
                 "intervalLoggingSampleWindowSize":0,
                 "cacheSize":1
              },
              "textRenderer":{
                 "useUnitAsSuffix":true,
                 "unit":"kW",
                 "renderedUnit":"kW",
                 "format":"0.00",
                 "suffix":"",
                 "type":"textRendererAnalog"
              },
              "chartRenderer":{
                 "timePeriod":{
                    "periods":1,
                    "type":"DAYS"
                 },
                 "type":"chartRendererImage"
              },
              "modelType":"DATA_POINT",
              "validationMessages":[
        
              ],
              "id":213,
              "dataSourceId":83,
              "setPermission":"superadmin",
              "chartColour":"",
              "rollup":"NONE",
              "plotType":"SPLINE",
              "purgeOverride":false,
              "purgePeriod":{
                 "periods":1,
                 "type":"YEARS"
              },
              "pointLocator":{
                 "offset":0,
                 "values":[
        
                 ],
                 "max":120,
                 "min":0.1,
                 "period":0,
                 "attractionPointXid":"internal_mango_num_active_user_sessions",
                 "maxChange":0.2,
                 "change":0,
                 "amplitude":0,
                 "volatility":0,
                 "startValue":"101",
                 "roll":false,
                 "modelType":"PL.VIRTUAL",
                 "dataType":"NUMERIC",
                 "changeType":"BROWNIAN",
                 "settable":false,
                 "relinquishable":false
              },
              "readPermission":"user",
              "pointFolderId":2,
              "unit":"kW",
              "dataSourceXid":"DS_Chiller2_VDS",
              "renderedUnit":"kW",
              "integralUnit":"kW·s",
              "deviceName":"Chiller2",
              "useIntegralUnit":false,
              "useRenderedUnit":false,
              "dataSourceName":"Chiller2_VDS",
              "name":"ActivePower",
              "xid":"DP_Chiller2_ActivePower"
           },
           {
              "enabled":true,
              "templateXid":"Power",
              "loggingProperties":{
                 "tolerance":0,
                 "discardExtremeValues":false,
                 "discardLowLimit":-1.7976931348623157e+308,
                 "discardHighLimit":1.7976931348623157e+308,
                 "loggingType":"INTERVAL",
                 "intervalLoggingType":"AVERAGE",
                 "intervalLoggingPeriod":{
                    "periods":3,
                    "type":"SECONDS"
                 },
                 "overrideIntervalLoggingSamples":false,
                 "intervalLoggingSampleWindowSize":0,
                 "cacheSize":1
              },
              "textRenderer":{
                 "useUnitAsSuffix":true,
                 "unit":"kW",
                 "renderedUnit":"kW",
                 "format":"0.00",
                 "suffix":"",
                 "type":"textRendererAnalog"
              },
              "chartRenderer":{
                 "timePeriod":{
                    "periods":1,
                    "type":"DAYS"
                 },
                 "type":"chartRendererImage"
              },
              "modelType":"DATA_POINT",
              "validationMessages":[
        
              ],
              "id":214,
              "dataSourceId":84,
              "setPermission":"superadmin",
              "chartColour":"",
              "rollup":"NONE",
              "plotType":"SPLINE",
              "purgeOverride":false,
              "purgePeriod":{
                 "periods":1,
                 "type":"YEARS"
              },
              "pointLocator":{
                 "offset":0,
                 "values":[
        
                 ],
                 "max":120,
                 "min":0.1,
                 "period":0,
                 "attractionPointXid":"internal_mango_num_active_user_sessions",
                 "maxChange":0.2,
                 "change":0,
                 "amplitude":0,
                 "volatility":0,
                 "startValue":"88",
                 "roll":false,
                 "modelType":"PL.VIRTUAL",
                 "dataType":"NUMERIC",
                 "changeType":"BROWNIAN",
                 "settable":false,
                 "relinquishable":false
              },
              "readPermission":"user",
              "pointFolderId":2,
              "unit":"kW",
              "dataSourceXid":"DS_Chiller3_VDS",
              "renderedUnit":"kW",
              "integralUnit":"kW·s",
              "deviceName":"Chiller3",
              "useIntegralUnit":false,
              "useRenderedUnit":false,
              "dataSourceName":"Chiller3_VDS",
              "name":"ActivePower",
              "xid":"DP_Chiller3_ActivePower"
           },
           {
              "enabled":true,
              "templateXid":"Power",
              "loggingProperties":{
                 "tolerance":0,
                 "discardExtremeValues":false,
                 "discardLowLimit":-1.7976931348623157e+308,
                 "discardHighLimit":1.7976931348623157e+308,
                 "loggingType":"INTERVAL",
                 "intervalLoggingType":"AVERAGE",
                 "intervalLoggingPeriod":{
                    "periods":3,
                    "type":"SECONDS"
                 },
                 "overrideIntervalLoggingSamples":false,
                 "intervalLoggingSampleWindowSize":0,
                 "cacheSize":1
              },
              "textRenderer":{
                 "useUnitAsSuffix":true,
                 "unit":"kW",
                 "renderedUnit":"kW",
                 "format":"0.00",
                 "suffix":"",
                 "type":"textRendererAnalog"
              },
              "chartRenderer":{
                 "timePeriod":{
                    "periods":1,
                    "type":"DAYS"
                 },
                 "type":"chartRendererImage"
              },
              "modelType":"DATA_POINT",
              "validationMessages":[
        
              ],
              "id":215,
              "dataSourceId":85,
              "setPermission":"superadmin",
              "chartColour":"",
              "rollup":"NONE",
              "plotType":"SPLINE",
              "purgeOverride":false,
              "purgePeriod":{
                 "periods":1,
                 "type":"YEARS"
              },
              "pointLocator":{
                 "offset":0,
                 "values":[
        
                 ],
                 "max":120,
                 "min":0.1,
                 "period":0,
                 "attractionPointXid":"internal_mango_num_active_user_sessions",
                 "maxChange":0.2,
                 "change":0,
                 "amplitude":0,
                 "volatility":0,
                 "startValue":"22",
                 "roll":false,
                 "modelType":"PL.VIRTUAL",
                 "dataType":"NUMERIC",
                 "changeType":"BROWNIAN",
                 "settable":false,
                 "relinquishable":false
              },
              "readPermission":"user",
              "pointFolderId":2,
              "unit":"kW",
              "dataSourceXid":"DS_Chiller4_VDS",
              "renderedUnit":"kW",
              "integralUnit":"kW·s",
              "deviceName":"Chiller4",
              "useIntegralUnit":false,
              "useRenderedUnit":false,
              "dataSourceName":"Chiller4_VDS",
              "name":"ActivePower",
              "xid":"DP_Chiller4_ActivePower"
           },
           {
              "enabled":true,
              "templateXid":"Power",
              "loggingProperties":{
                 "tolerance":0,
                 "discardExtremeValues":false,
                 "discardLowLimit":-1.7976931348623157e+308,
                 "discardHighLimit":1.7976931348623157e+308,
                 "loggingType":"INTERVAL",
                 "intervalLoggingType":"AVERAGE",
                 "intervalLoggingPeriod":{
                    "periods":3,
                    "type":"SECONDS"
                 },
                 "overrideIntervalLoggingSamples":false,
                 "intervalLoggingSampleWindowSize":0,
                 "cacheSize":1
              },
              "textRenderer":{
                 "useUnitAsSuffix":true,
                 "unit":"kW",
                 "renderedUnit":"kW",
                 "format":"0.00",
                 "suffix":"",
                 "type":"textRendererAnalog"
              },
              "chartRenderer":{
                 "timePeriod":{
                    "periods":1,
                    "type":"DAYS"
                 },
                 "type":"chartRendererImage"
              },
              "modelType":"DATA_POINT",
              "validationMessages":[
        
              ],
              "id":216,
              "dataSourceId":86,
              "setPermission":"superadmin",
              "chartColour":"",
              "rollup":"NONE",
              "plotType":"SPLINE",
              "purgeOverride":false,
              "purgePeriod":{
                 "periods":1,
                 "type":"YEARS"
              },
              "pointLocator":{
                 "offset":0,
                 "values":[
        
                 ],
                 "max":120,
                 "min":0.1,
                 "period":0,
                 "attractionPointXid":"internal_mango_num_active_user_sessions",
                 "maxChange":0.2,
                 "change":0,
                 "amplitude":0,
                 "volatility":0,
                 "startValue":"55",
                 "roll":false,
                 "modelType":"PL.VIRTUAL",
                 "dataType":"NUMERIC",
                 "changeType":"BROWNIAN",
                 "settable":false,
                 "relinquishable":false
              },
              "readPermission":"user",
              "pointFolderId":2,
              "unit":"kW",
              "dataSourceXid":"DS_Chiller5_VDS",
              "renderedUnit":"kW",
              "integralUnit":"kW·s",
              "deviceName":"Chiller5",
              "useIntegralUnit":false,
              "useRenderedUnit":false,
              "dataSourceName":"Chiller5_VDS",
              "name":"ActivePower",
              "xid":"DP_Chiller5_ActivePower"
           }
        ]
        
        1 Reply Last reply Reply Quote 0
        • Will GellerW
          Will Geller
          last edited by

          Could I see the output of page.watchList. Are you sure you have checked points on the watchlist and then clicked save. When you open up that watchlist does a chart display at the bottom of the page?

          Infinite Automation - UI Developer

          M 1 Reply Last reply Reply Quote 0
          • M
            morris @Will Geller
            last edited by

            @will-geller said in Notes on specific datapoint / Annotation on specific datapoint / Annotation on chart:

            Could I see the output of page.watchList. Are you sure you have checked points on the watchlist and then clicked save. When you open up that watchlist does a chart display at the bottom of the page?

            Dear Will, the watch list is displayed, and charts can be seen. In above reply, I also uploaded the output from {{thisWatchlist}} so that you can help to review in the case there is any missing configuration.

            <ma-watch-list-get watch-list-xid="WL_TESTWL" ng-model="thisWatchList" on-points-change="points = $points"></ma-watch-list-get>
            
            {{thisWatchlist}}
                
            <ma-annotate-chart flex points="points" watch-list="thisWatchList" export="true" to="dateBar.to" from="dateBar.from" rollup-type="dateBar.rollupType" rollup-interval-number="dateBar.rollupIntervals" rollup-interval-period="dateBar.rollupIntervalPeriod" chart-height="400px"></ma-annotate-chart>
            
            ```
            1 Reply Last reply Reply Quote 0
            • M
              morris
              last edited by

              I just noted that there is the same array error is on the UI's watch list application that comes with the demo version. So it is just that charts are not rendering in my case.

              1 Reply Last reply Reply Quote 0
              • Will GellerW
                Will Geller
                last edited by

                It looks like in your previous post you posted the output of points not thisWatchList .

                Also be aware that debugging the output of {{thisWatchlist}} will not show anythings when you have ng-model="thisWatchList" notice the caps is inconsistent

                Infinite Automation - UI Developer

                1 Reply Last reply Reply Quote 0
                • Will GellerW
                  Will Geller
                  last edited by Will Geller

                  Can you got to http://localhost:8080/ui/administration/modules/upgrade check for upgrades and let me know what version of advancedComponents module you have.

                  The advancedComponents module has some functionality that originally wasn't intended for free public use so there may be some issues. But we don't mind you using it and I will try to help you out.

                  • It looks like you do need the NoSQL module installed in order to post annotations. The module is included on the Mango ES or with an Enterprise license. If you don't have a license for the NoSQL module you can still install it but Mango will automatically shut down after several hours.

                  • It looks like there is an bug in the code for the annotateChart component when running with core 3.1 so you will want to update the advancedComponents module with the one that will be released today (3.1.4)

                  Let me know if you think this is all worth it and you still run into issues after trying these steps

                  Infinite Automation - UI Developer

                  1 Reply Last reply Reply Quote 0
                  • Will GellerW
                    Will Geller
                    last edited by

                    Once you get that working you may want to play around with adding show-annotation-table="true" show-zoom-controls="true" attributes which you can include on <ma-annotate-chart> which display a table below the chart of the annotations and a zoom / calculate (click twice) mode that may be of interest

                    Infinite Automation - UI Developer

                    1 Reply Last reply Reply Quote 0
                    • M
                      morris
                      last edited by

                      Hi Will, I am using advancedComponent 3.1.3 and check for upgrades gives me following response.

                      Modules available for upgrade
                      All installed modules are up to date
                      
                      Modules available for installation
                      No new modules to install
                      
                      {"data":"","status":500,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"/rest/v1/modules/upgrades-available","headers":{"Accept":"application/json, text/plain, */*","X-Requested-With":"XMLHttpRequest","X-XSRF-TOKEN":"a401346f-29a7-49b7-80ac-3e6eaeabb93d"},"cached":false,"timeout":30000},"statusText":"Server Error"}
                      
                      1 Reply Last reply Reply Quote 0
                      • phildunlapP
                        phildunlap
                        last edited by

                        Hi morris,

                        There is almost certainly more information in the log file, or in some alert text.

                        If I had to guess the cause, it'd be that you have the dashboards module installed, which is not continued in 3.2. You can mark if for deletion and restart on the modules page.

                        1 Reply Last reply Reply Quote 0
                        • M
                          morris
                          last edited by

                          Hi phildunlap, I was using version 3.1.1. I am now downloading version 3.2.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post