• 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

    Setting Several Data Points at once

    How-To
    3
    36
    11.2k
    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.
    • R
      Rodrigo
      last edited by

      thanks Matt, but I am not able to understand how to make it work :(

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

        ok I shall write a complete solution for you tonight. Dont know what time it is where you are but I shall assemble it all for you later today.

        Fox

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

        R 1 Reply Last reply Reply Quote 0
        • R
          Rodrigo @MattFox
          last edited by

          @mattfox
          Really! Awesome, do not worry about the time, here is 19:21 (March 5) now.
          Paraguayan time.
          I could read it later tonight or even tomorrow and try to apply it.

          Thanks a lot!

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

            11:34 AM here NZDT.

            Ill have something here for you by breakfast :)

            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
            • R
              Rodrigo
              last edited by

              You are the best!

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

                OK!
                First off, apologies Rodrigo. I can see where you got lost. The script was marginally more involved than I first suspected...
                However. as promised: here is the solution for you to learn from and apply for your own personal use.

                I have 3 batches of JSON for you to import and view to appreciate what to do. I have modelled this with virtual data sources for a proof of concept which can be applied in other places.

                Virtual Datasource + points:

                {
                  "dataSources":[
                    {
                      "xid":"DS_233ecafd-78eb-4837-98fc-8cbdb35430bc",
                      "name":"Temp Virtual",
                      "enabled":true,
                      "type":"VIRTUAL",
                      "alarmLevels":{
                        "POLL_ABORTED":"URGENT"
                      },
                      "purgeType":"YEARS",
                      "updatePeriods":1,
                      "updatePeriodType":"MINUTES",
                      "polling":false,
                      "quantize":false,
                      "useCron":false,
                      "editPermission":"",
                      "purgeOverride":false,
                      "purgePeriod":1
                    }
                  ],
                  "dataPoints":[
                    {
                      "xid":"DP_c0_temperature",
                      "name":"Temp 1",
                      "enabled":true,
                      "loggingType":"ALL",
                      "intervalLoggingPeriodType":"MINUTES",
                      "intervalLoggingType":"AVERAGE",
                      "purgeType":"YEARS",
                      "pointLocator":{
                        "dataType":"NUMERIC",
                        "changeType":{
                          "type":"NO_CHANGE",
                          "startValue":"10"
                        },
                        "settable":true
                      },
                      "eventDetectors":[
                      ],
                      "plotType":"SPLINE",
                      "rollup":"NONE",
                      "unit":"",
                      "simplifyType":"NONE",
                      "chartColour":"",
                      "chartRenderer":{
                        "type":"IMAGE",
                        "timePeriodType":"DAYS",
                        "numberOfPeriods":1
                      },
                      "dataSourceXid":"DS_233ecafd-78eb-4837-98fc-8cbdb35430bc",
                      "defaultCacheSize":1,
                      "deviceName":"Temp Virtual",
                      "discardExtremeValues":false,
                      "discardHighLimit":1.7976931348623157E308,
                      "discardLowLimit":-1.7976931348623157E308,
                      "intervalLoggingPeriod":1,
                      "intervalLoggingSampleWindowSize":0,
                      "overrideIntervalLoggingSamples":false,
                      "preventSetExtremeValues":false,
                      "purgeOverride":false,
                      "purgePeriod":1,
                      "readPermission":"",
                      "setExtremeHighLimit":1.7976931348623157E308,
                      "setExtremeLowLimit":-1.7976931348623157E308,
                      "setPermission":"",
                      "tags":{
                      },
                      "textRenderer":{
                        "type":"ANALOG",
                        "useUnitAsSuffix":false,
                        "suffix":"",
                        "format":"0.00"
                      },
                      "tolerance":0.0
                    },
                    {
                      "xid":"DP_c1_temperature",
                      "name":"Temp 2",
                      "enabled":true,
                      "loggingType":"ALL",
                      "intervalLoggingPeriodType":"MINUTES",
                      "intervalLoggingType":"AVERAGE",
                      "purgeType":"YEARS",
                      "pointLocator":{
                        "dataType":"NUMERIC",
                        "changeType":{
                          "type":"NO_CHANGE",
                          "startValue":"10"
                        },
                        "settable":true
                      },
                      "eventDetectors":[
                      ],
                      "plotType":"SPLINE",
                      "rollup":"NONE",
                      "unit":"",
                      "simplifyType":"NONE",
                      "chartColour":"",
                      "chartRenderer":{
                        "type":"IMAGE",
                        "timePeriodType":"DAYS",
                        "numberOfPeriods":1
                      },
                      "dataSourceXid":"DS_233ecafd-78eb-4837-98fc-8cbdb35430bc",
                      "defaultCacheSize":1,
                      "deviceName":"Temp Virtual",
                      "discardExtremeValues":false,
                      "discardHighLimit":1.7976931348623157E308,
                      "discardLowLimit":-1.7976931348623157E308,
                      "intervalLoggingPeriod":1,
                      "intervalLoggingSampleWindowSize":0,
                      "overrideIntervalLoggingSamples":false,
                      "preventSetExtremeValues":false,
                      "purgeOverride":false,
                      "purgePeriod":1,
                      "readPermission":"",
                      "setExtremeHighLimit":1.7976931348623157E308,
                      "setExtremeLowLimit":-1.7976931348623157E308,
                      "setPermission":"",
                      "tags":{
                      },
                      "textRenderer":{
                        "type":"ANALOG",
                        "useUnitAsSuffix":false,
                        "suffix":"",
                        "format":"0.00"
                      },
                      "tolerance":0.0
                    },
                    {
                      "xid":"DP_c2_temperature",
                      "name":"Temp 3",
                      "enabled":true,
                      "loggingType":"ALL",
                      "intervalLoggingPeriodType":"MINUTES",
                      "intervalLoggingType":"AVERAGE",
                      "purgeType":"YEARS",
                      "pointLocator":{
                        "dataType":"NUMERIC",
                        "changeType":{
                          "type":"NO_CHANGE",
                          "startValue":"10"
                        },
                        "settable":true
                      },
                      "eventDetectors":[
                      ],
                      "plotType":"SPLINE",
                      "rollup":"NONE",
                      "unit":"",
                      "simplifyType":"NONE",
                      "chartColour":"",
                      "chartRenderer":{
                        "type":"IMAGE",
                        "timePeriodType":"DAYS",
                        "numberOfPeriods":1
                      },
                      "dataSourceXid":"DS_233ecafd-78eb-4837-98fc-8cbdb35430bc",
                      "defaultCacheSize":1,
                      "deviceName":"Temp Virtual",
                      "discardExtremeValues":false,
                      "discardHighLimit":1.7976931348623157E308,
                      "discardLowLimit":-1.7976931348623157E308,
                      "intervalLoggingPeriod":1,
                      "intervalLoggingSampleWindowSize":0,
                      "overrideIntervalLoggingSamples":false,
                      "preventSetExtremeValues":false,
                      "purgeOverride":false,
                      "purgePeriod":1,
                      "readPermission":"",
                      "setExtremeHighLimit":1.7976931348623157E308,
                      "setExtremeLowLimit":-1.7976931348623157E308,
                      "setPermission":"",
                      "tags":{
                      },
                      "textRenderer":{
                        "type":"ANALOG",
                        "useUnitAsSuffix":false,
                        "suffix":"",
                        "format":"0.00"
                      },
                      "tolerance":0.0
                    },
                    {
                      "xid":"DP_c3_temperature",
                      "name":"Temp 4",
                      "enabled":true,
                      "loggingType":"ALL",
                      "intervalLoggingPeriodType":"MINUTES",
                      "intervalLoggingType":"AVERAGE",
                      "purgeType":"YEARS",
                      "pointLocator":{
                        "dataType":"NUMERIC",
                        "changeType":{
                          "type":"NO_CHANGE",
                          "startValue":"10"
                        },
                        "settable":true
                      },
                      "eventDetectors":[
                      ],
                      "plotType":"SPLINE",
                      "rollup":"NONE",
                      "unit":"",
                      "simplifyType":"NONE",
                      "chartColour":"",
                      "chartRenderer":{
                        "type":"IMAGE",
                        "timePeriodType":"DAYS",
                        "numberOfPeriods":1
                      },
                      "dataSourceXid":"DS_233ecafd-78eb-4837-98fc-8cbdb35430bc",
                      "defaultCacheSize":1,
                      "deviceName":"Temp Virtual",
                      "discardExtremeValues":false,
                      "discardHighLimit":1.7976931348623157E308,
                      "discardLowLimit":-1.7976931348623157E308,
                      "intervalLoggingPeriod":1,
                      "intervalLoggingSampleWindowSize":0,
                      "overrideIntervalLoggingSamples":false,
                      "preventSetExtremeValues":false,
                      "purgeOverride":false,
                      "purgePeriod":1,
                      "readPermission":"",
                      "setExtremeHighLimit":1.7976931348623157E308,
                      "setExtremeLowLimit":-1.7976931348623157E308,
                      "setPermission":"",
                      "tags":{
                      },
                      "textRenderer":{
                        "type":"ANALOG",
                        "useUnitAsSuffix":false,
                        "suffix":"",
                        "format":"0.00"
                      },
                      "tolerance":0.0
                    },
                    {
                      "xid":"DP_c4_temperature",
                      "name":"Temp 5",
                      "enabled":true,
                      "loggingType":"ALL",
                      "intervalLoggingPeriodType":"MINUTES",
                      "intervalLoggingType":"INSTANT",
                      "purgeType":"YEARS",
                      "pointLocator":{
                        "dataType":"NUMERIC",
                        "changeType":{
                          "type":"NO_CHANGE",
                          "startValue":"10"
                        },
                        "settable":true
                      },
                      "eventDetectors":[
                      ],
                      "plotType":"SPLINE",
                      "rollup":"NONE",
                      "unit":"",
                      "simplifyType":"NONE",
                      "chartColour":"",
                      "chartRenderer":{
                        "type":"IMAGE",
                        "timePeriodType":"DAYS",
                        "numberOfPeriods":1
                      },
                      "dataSourceXid":"DS_233ecafd-78eb-4837-98fc-8cbdb35430bc",
                      "defaultCacheSize":1,
                      "deviceName":"Temp Virtual",
                      "discardExtremeValues":false,
                      "discardHighLimit":1.7976931348623157E308,
                      "discardLowLimit":-1.7976931348623157E308,
                      "intervalLoggingPeriod":15,
                      "intervalLoggingSampleWindowSize":0,
                      "overrideIntervalLoggingSamples":false,
                      "preventSetExtremeValues":false,
                      "purgeOverride":false,
                      "purgePeriod":1,
                      "readPermission":"",
                      "setExtremeHighLimit":1.7976931348623157E308,
                      "setExtremeLowLimit":-1.7976931348623157E308,
                      "setPermission":"",
                      "tags":{
                      },
                      "textRenderer":{
                        "type":"ANALOG",
                        "useUnitAsSuffix":false,
                        "suffix":"",
                        "format":"0.00"
                      },
                      "tolerance":0.0
                    },
                    {
                      "xid":"DP_dfd30a93-8ac3-40b7-aa7f-9f40b2a583a8",
                      "name":"Trigger Point",
                      "enabled":true,
                      "loggingType":"ALL",
                      "intervalLoggingPeriodType":"MINUTES",
                      "intervalLoggingType":"AVERAGE",
                      "purgeType":"YEARS",
                      "pointLocator":{
                        "dataType":"NUMERIC",
                        "changeType":{
                          "type":"NO_CHANGE",
                          "startValue":"50"
                        },
                        "settable":true
                      },
                      "eventDetectors":[
                      ],
                      "plotType":"SPLINE",
                      "rollup":"NONE",
                      "unit":"",
                      "simplifyType":"NONE",
                      "chartColour":"",
                      "chartRenderer":{
                        "type":"IMAGE",
                        "timePeriodType":"DAYS",
                        "numberOfPeriods":1
                      },
                      "dataSourceXid":"DS_233ecafd-78eb-4837-98fc-8cbdb35430bc",
                      "defaultCacheSize":1,
                      "deviceName":"Temp Virtual",
                      "discardExtremeValues":false,
                      "discardHighLimit":1.7976931348623157E308,
                      "discardLowLimit":-1.7976931348623157E308,
                      "intervalLoggingPeriod":1,
                      "intervalLoggingSampleWindowSize":0,
                      "overrideIntervalLoggingSamples":false,
                      "preventSetExtremeValues":false,
                      "purgeOverride":false,
                      "purgePeriod":1,
                      "readPermission":"",
                      "setExtremeHighLimit":1.7976931348623157E308,
                      "setExtremeLowLimit":-1.7976931348623157E308,
                      "setPermission":"",
                      "tags":{
                      },
                      "textRenderer":{
                        "type":"ANALOG",
                        "useUnitAsSuffix":false,
                        "suffix":"",
                        "format":"0.00"
                      },
                      "tolerance":0.0
                    }
                  ]
                }
                

                Next the scripted data source that uses these points:

                {
                  "dataSources":[
                    {
                      "xid":"DS_dba43dbb-b0bf-497a-85f4-632ce54091d0",
                      "name":"Rodrigo's Scripted trigger",
                      "enabled":true,
                      "type":"SCRIPTING",
                      "alarmLevels":{
                        "SCRIPT_ERROR":"URGENT",
                        "CONTEXT_POINT_DISABLED":"IGNORE",
                        "DATA_TYPE_ERROR":"URGENT",
                        "POLL_ABORTED":"URGENT",
                        "LOG_ERROR":"URGENT"
                      },
                      "purgeType":"YEARS",
                      "updatePeriods":1,
                      "updatePeriodType":"MINUTES",
                      "updateEvent":"UPDATE",
                      "context":[
                        {
                          "varName":"t1",
                          "dataPointXid":"DP_c1_temperature",
                          "updateContext":false
                        },
                        {
                          "varName":"t2",
                          "dataPointXid":"DP_c2_temperature",
                          "updateContext":false
                        },
                        {
                          "varName":"t3",
                          "dataPointXid":"DP_c3_temperature",
                          "updateContext":false
                        },
                        {
                          "varName":"t4",
                          "dataPointXid":"DP_c4_temperature",
                          "updateContext":false
                        },
                        {
                          "varName":"trigger",
                          "dataPointXid":"DP_dfd30a93-8ac3-40b7-aa7f-9f40b2a583a8",
                          "updateContext":true
                        },
                        {
                          "varName":"t0",
                          "dataPointXid":"DP_c0_temperature",
                          "updateContext":false
                        }
                      ],
                      "logLevel":"NONE",
                      "scriptPermissions":[
                        "superadmin"
                      ],
                      "polling":false,
                      "executionDelaySeconds":0,
                      "historicalSetting":false,
                      "logCount":5,
                      "logSize":1.0,
                      "script":"var triggerpt = trigger.getDataPointWrapper();\r\nfor (var pnt in CONTEXT_POINTS) {\r\n    var pt = this[pnt].getDataPointWrapper();\r\nprint(pt.xid===triggerpt.xid);\r\n    if(pt.xid===triggerpt.xid){continue;}\r\n    else{\/\/we are not amending this point!!!! Do not want an infinite loop and a breakdown.\r\n     pt.runtime.set(  Math.random()*100 );\r\n    }\r\n }",
                      "quantize":false,
                      "useCron":false,
                      "editPermission":"",
                      "purgeOverride":false,
                      "purgePeriod":1
                    }
                  ]
                }
                

                Finally, here is your event handler which is tied to an advanced scheduler which I believe you requested in another thread....

                {
                   "advancedSchedules":[
                      {
                         "xid":"ADVSCH_25f85e3d-7c2b-4b80-9a50-93571e510896",
                         "defaultSchedule":{
                            "dailySchedules":[
                               {
                                  "changes":[
                                     "01:55",
                                     "02:00",
                                     "02:50",
                                     "03:00",
                                     "04:00",
                                     "04:05",
                                     "04:50",
                                     "05:00",
                                     "06:00",
                                     "06:05",
                                     "07:00",
                                     "07:05",
                                     "08:05",
                                     "08:10",
                                     "08:55",
                                     "09:00",
                                     "09:55",
                                     "10:00",
                                     "11:00",
                                     "11:05",
                                     "12:00",
                                     "12:05",
                                     "12:55",
                                     "13:00",
                                     "13:55",
                                     "14:00",
                                     "15:05",
                                     "15:10"
                                  ]
                               },
                               {
                                  "changes":[
                                     "01:55",
                                     "02:00",
                                     "02:50",
                                     "03:00",
                                     "04:00",
                                     "04:05",
                                     "04:50",
                                     "05:00",
                                     "06:00",
                                     "06:05",
                                     "07:00",
                                     "07:05",
                                     "08:05",
                                     "08:10",
                                     "08:55",
                                     "09:00",
                                     "09:55",
                                     "10:00",
                                     "11:00",
                                     "11:05",
                                     "12:00",
                                     "12:05",
                                     "12:55",
                                     "13:00",
                                     "13:55",
                                     "14:00",
                                     "15:05",
                                     "15:10"
                                  ]
                               },
                               {
                                  "changes":[
                                     "01:55",
                                     "02:00",
                                     "02:50",
                                     "03:00",
                                     "04:00",
                                     "04:05",
                                     "04:50",
                                     "05:00",
                                     "06:00",
                                     "06:05",
                                     "07:00",
                                     "07:05",
                                     "08:05",
                                     "08:10",
                                     "08:55",
                                     "09:00",
                                     "09:55",
                                     "10:00",
                                     "11:00",
                                     "11:05",
                                     "12:00",
                                     "12:05",
                                     "12:55",
                                     "13:00",
                                     "13:55",
                                     "14:00",
                                     "15:05",
                                     "15:10"
                                  ]
                               },
                               {
                                  "changes":[
                                     "01:55",
                                     "02:00",
                                     "02:50",
                                     "03:00",
                                     "04:00",
                                     "04:05",
                                     "04:50",
                                     "05:00",
                                     "06:00",
                                     "06:05",
                                     "07:00",
                                     "07:05",
                                     "08:05",
                                     "08:10",
                                     "08:55",
                                     "09:00",
                                     "09:55",
                                     "10:00",
                                     "11:00",
                                     "11:05",
                                     "12:00",
                                     "12:05",
                                     "12:55",
                                     "13:00",
                                     "13:55",
                                     "14:00",
                                     "15:05",
                                     "15:10"
                                  ]
                               },
                               {
                                  "changes":[
                                     "01:55",
                                     "02:00",
                                     "02:50",
                                     "03:00",
                                     "04:00",
                                     "04:05",
                                     "04:50",
                                     "05:00",
                                     "06:00",
                                     "06:05",
                                     "07:00",
                                     "07:05",
                                     "08:05",
                                     "08:10",
                                     "08:55",
                                     "09:00",
                                     "09:55",
                                     "10:00",
                                     "11:00",
                                     "11:05",
                                     "12:00",
                                     "12:05",
                                     "12:55",
                                     "13:00",
                                     "13:55",
                                     "14:00",
                                     "15:05",
                                     "15:10"
                                  ]
                               },
                               {
                                  "changes":[
                                     "01:55",
                                     "02:00",
                                     "02:50",
                                     "03:00",
                                     "04:00",
                                     "04:05",
                                     "04:50",
                                     "05:00",
                                     "06:00",
                                     "06:05",
                                     "07:00",
                                     "07:05",
                                     "08:05",
                                     "08:10",
                                     "08:55",
                                     "09:00",
                                     "09:55",
                                     "10:00",
                                     "11:00",
                                     "11:05",
                                     "12:00",
                                     "12:05",
                                     "12:55",
                                     "13:00",
                                     "13:55",
                                     "14:00",
                                     "15:05",
                                     "15:10"
                                  ]
                               },
                               {
                                  "changes":[
                                     "01:55",
                                     "02:00",
                                     "02:50",
                                     "03:00",
                                     "04:00",
                                     "04:05",
                                     "04:50",
                                     "05:00",
                                     "06:00",
                                     "06:05",
                                     "07:00",
                                     "07:05",
                                     "08:05",
                                     "08:10",
                                     "08:55",
                                     "09:00",
                                     "09:55",
                                     "10:00",
                                     "11:00",
                                     "11:05",
                                     "12:00",
                                     "12:05",
                                     "12:55",
                                     "13:00",
                                     "13:55",
                                     "14:00",
                                     "15:05",
                                     "15:10"
                                  ]
                               }
                            ],
                            "offsetCount":196
                         },
                         "readPermission":"",
                         "name":"Rodrigo's Scheduled trigger",
                         "alarmLevel":"IMPORTANT",
                         "errorAlarmLevel":"DO_NOT_LOG",
                         "user":"admin",
                         "editPermission":"",
                         "enabled":true,
                         "exceptions":[
                         ]
                      }
                   ],
                   "eventHandlers":[
                      {
                         "xid":"EH_c0202c22-1684-4216-ae68-5a9bc0cb1e82",
                         "activeAction":"STATIC_VALUE",
                         "inactiveAction":"NONE",
                         "handlerType":"SET_POINT",
                         "name":"Rodrigo's Automated Trigger",
                         "targetPointId":"DP_dfd30a93-8ac3-40b7-aa7f-9f40b2a583a8",
                         "disabled":false,
                         "activeValueToSet":"1",
                         "scriptPermissions":"",
                         "eventTypes":[
                            {
                               "XID":"ADVSCH_25f85e3d-7c2b-4b80-9a50-93571e510896",
                               "sourceType":"ADVANCED_SCHEDULE",
                               "scheduleEventType":"SCHEDULE_ACTIVE"
                            }
                         ],
                         "additionalContext":[
                         ]
                      }
                   ]
                }
                

                You can amend the schedules however you like.

                To show how this works manually: here is some dashboard markup:

                <ma-get-point-value point-xid="DP_c0_temperature" point="pt1"></ma-get-point-value>
                <ma-get-point-value point-xid="DP_c1_temperature" point="pt2"></ma-get-point-value>
                <ma-get-point-value point-xid="DP_c2_temperature" point="pt3"></ma-get-point-value>
                <ma-get-point-value point-xid="DP_c3_temperature" point="pt4"></ma-get-point-value>
                <ma-get-point-value point-xid="DP_c4_temperature" point="pt5"></ma-get-point-value>
                <ma-get-point-value point-xid="DP_dfd30a93-8ac3-40b7-aa7f-9f40b2a583a8" point="trigger"></ma-get-point-value>
                <md-button class="md-accent md-raised md-hue-2"ng-click="oldpt1=pt1.renderedValue;
                oldpt2=pt2.renderedValue;
                oldpt3=pt3.renderedValue;
                oldpt4=pt4.renderedValue;
                oldpt5=pt5.renderedValue;
                trigger.setValue(1);
                ">HIT ME!</md-button>
                <md-table>
                <table>
                <tr>    
                <th>{{pt1.name}}</th><th>{{pt2.name}}</th><th>{{pt3.name}}</th><th>{{pt4.name}}</th><th>{{pt5.name}}</th>
                </tr>
                <tr>    
                <!-- Current Values -->
                <td>{{pt1.renderedValue}}</td><td>{{pt2.renderedValue}}</td><td>{{pt3.renderedValue}}</td><td>{{pt4.renderedValue}}</td><td>{{pt5.renderedValue}}</td>
                </tr>
                <!-- Previous Values -->
                <td>{{oldpt1}}</td><td>{{oldpt2}}</td><td>{{oldpt3}}</td><td>{{oldpt4}}</td><td>{{oldpt5}}</td>
                </tr>
                </table>    
                    
                </md-table>
                
                

                Ok, that's all of the config for you. Please have a good look and take note at how I applied the event handler settings.
                The way I implemented allows the scheduler to set the virtual trigger the same way as if you had clicked the button on the dashboard.
                HOWEVER, you can use the code in the scripted datasource and all of your context points and run the script inside the handler instead. But that is entirely up to you.
                Good luck!

                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
                • R
                  Rodrigo
                  last edited by

                  Thank a lot Matt! I will be trying it this week and see how it goes.
                  I really appreciate your help.

                  Best,
                  Rodrigo

                  1 Reply Last reply Reply Quote 0
                  • R
                    Rodrigo
                    last edited by Rodrigo

                    Hi Matt,

                    With your help and also a little local help (my brother) I have managed to do what I wanted.
                    One change I did was to move the trigger from the virtual data source to the scripted data source.
                    Virtual Data Source + Points

                    {
                      "dataSources":[
                        {
                          "xid":"DS_EdificioA",
                          "name":"Edificio A",
                          "enabled":true,
                          "type":"VIRTUAL",
                          "alarmLevels":{
                            "POLL_ABORTED":"URGENT"
                          },
                          "purgeType":"YEARS",
                          "updatePeriods":10,
                          "updatePeriodType":"SECONDS",
                          "polling":true,
                          "quantize":true,
                          "useCron":false,
                          "editPermission":"",
                          "purgeOverride":false,
                          "purgePeriod":1
                        }
                      ],
                      "dataPoints":[
                        {
                          "xid":"DP_Equipo01A",
                          "name":"ON \/ OFF (0 = ON - 1 = OFF )",
                          "enabled":true,
                          "loggingType":"ON_CHANGE",
                          "intervalLoggingPeriodType":"MINUTES",
                          "intervalLoggingType":"INSTANT",
                          "purgeType":"YEARS",
                          "pointLocator":{
                            "dataType":"BINARY",
                            "changeType":{
                              "type":"NO_CHANGE",
                              "startValue":"true"
                            },
                            "settable":true
                          },
                          "eventDetectors":[
                          ],
                          "plotType":"STEP",
                          "rollup":"NONE",
                          "unit":"",
                          "simplifyType":"NONE",
                          "chartColour":"",
                          "chartRenderer":{
                            "type":"TABLE",
                            "limit":10
                          },
                          "dataSourceXid":"DS_EdificioA",
                          "defaultCacheSize":1,
                          "deviceName":"Equipo 01 A",
                          "discardExtremeValues":false,
                          "discardHighLimit":1.7976931348623157E308,
                          "discardLowLimit":-1.7976931348623157E308,
                          "intervalLoggingPeriod":1,
                          "intervalLoggingSampleWindowSize":0,
                          "overrideIntervalLoggingSamples":false,
                          "preventSetExtremeValues":false,
                          "purgeOverride":false,
                          "purgePeriod":1,
                          "readPermission":"",
                          "setExtremeHighLimit":1.7976931348623157E308,
                          "setExtremeLowLimit":-1.7976931348623157E308,
                          "setPermission":"",
                          "tags":{
                          },
                          "textRenderer":{
                            "type":"BINARY",
                            "oneColour":"rgb(255, 51, 51)",
                            "oneLabel":"OFF",
                            "zeroColour":"rgb(102, 255, 102)",
                            "zeroLabel":"ON"
                          },
                          "tolerance":0.0
                        },
                        {
                          "xid":"DP_Equipo02A",
                          "name":"ON \/ OFF (0 = ON - 1 = OFF )",
                          "enabled":true,
                          "loggingType":"ON_CHANGE",
                          "intervalLoggingPeriodType":"MINUTES",
                          "intervalLoggingType":"INSTANT",
                          "purgeType":"YEARS",
                          "pointLocator":{
                            "dataType":"BINARY",
                            "changeType":{
                              "type":"NO_CHANGE",
                              "startValue":"true"
                            },
                            "settable":true
                          },
                          "eventDetectors":[
                          ],
                          "plotType":"STEP",
                          "rollup":"NONE",
                          "unit":"",
                          "simplifyType":"NONE",
                          "chartColour":"",
                          "chartRenderer":{
                            "type":"TABLE",
                            "limit":10
                          },
                          "dataSourceXid":"DS_EdificioA",
                          "defaultCacheSize":1,
                          "deviceName":"Equipo 02 A",
                          "discardExtremeValues":false,
                          "discardHighLimit":1.7976931348623157E308,
                          "discardLowLimit":-1.7976931348623157E308,
                          "intervalLoggingPeriod":15,
                          "intervalLoggingSampleWindowSize":0,
                          "overrideIntervalLoggingSamples":false,
                          "preventSetExtremeValues":false,
                          "purgeOverride":false,
                          "purgePeriod":1,
                          "readPermission":"",
                          "setExtremeHighLimit":1.7976931348623157E308,
                          "setExtremeLowLimit":-1.7976931348623157E308,
                          "setPermission":"",
                          "tags":{
                          },
                          "textRenderer":{
                            "type":"BINARY",
                            "oneColour":"rgb(255, 51, 51)",
                            "oneLabel":"OFF",
                            "zeroColour":"rgb(102, 255, 102)",
                            "zeroLabel":"ON"
                          },
                          "tolerance":0.0
                        },
                        {
                          "xid":"DP_Equipo03A",
                          "name":"ON \/ OFF (0 = ON - 1 = OFF )",
                          "enabled":true,
                          "loggingType":"ON_CHANGE",
                          "intervalLoggingPeriodType":"MINUTES",
                          "intervalLoggingType":"INSTANT",
                          "purgeType":"YEARS",
                          "pointLocator":{
                            "dataType":"BINARY",
                            "changeType":{
                              "type":"NO_CHANGE",
                              "startValue":"true"
                            },
                            "settable":true
                          },
                          "eventDetectors":[
                          ],
                          "plotType":"STEP",
                          "rollup":"NONE",
                          "unit":"",
                          "simplifyType":"NONE",
                          "chartColour":"",
                          "chartRenderer":{
                            "type":"TABLE",
                            "limit":10
                          },
                          "dataSourceXid":"DS_EdificioA",
                          "defaultCacheSize":1,
                          "deviceName":"Equipo 03 A",
                          "discardExtremeValues":false,
                          "discardHighLimit":1.7976931348623157E308,
                          "discardLowLimit":-1.7976931348623157E308,
                          "intervalLoggingPeriod":15,
                          "intervalLoggingSampleWindowSize":0,
                          "overrideIntervalLoggingSamples":false,
                          "preventSetExtremeValues":false,
                          "purgeOverride":false,
                          "purgePeriod":1,
                          "readPermission":"",
                          "setExtremeHighLimit":1.7976931348623157E308,
                          "setExtremeLowLimit":-1.7976931348623157E308,
                          "setPermission":"",
                          "tags":{
                          },
                          "textRenderer":{
                            "type":"BINARY",
                            "oneColour":"rgb(255, 51, 51)",
                            "oneLabel":"OFF",
                            "zeroColour":"rgb(102, 255, 102)",
                            "zeroLabel":"ON"
                          },
                          "tolerance":0.0
                        },
                        {
                          "xid":"DP_Equipo04A",
                          "name":"ON \/ OFF (0 = ON - 1 = OFF )",
                          "enabled":true,
                          "loggingType":"ON_CHANGE",
                          "intervalLoggingPeriodType":"MINUTES",
                          "intervalLoggingType":"INSTANT",
                          "purgeType":"YEARS",
                          "pointLocator":{
                            "dataType":"BINARY",
                            "changeType":{
                              "type":"NO_CHANGE",
                              "startValue":"true"
                            },
                            "settable":true
                          },
                          "eventDetectors":[
                          ],
                          "plotType":"STEP",
                          "rollup":"NONE",
                          "unit":"",
                          "simplifyType":"NONE",
                          "chartColour":"",
                          "chartRenderer":{
                            "type":"TABLE",
                            "limit":10
                          },
                          "dataSourceXid":"DS_EdificioA",
                          "defaultCacheSize":1,
                          "deviceName":"Equipo 04 A",
                          "discardExtremeValues":false,
                          "discardHighLimit":1.7976931348623157E308,
                          "discardLowLimit":-1.7976931348623157E308,
                          "intervalLoggingPeriod":15,
                          "intervalLoggingSampleWindowSize":0,
                          "overrideIntervalLoggingSamples":false,
                          "preventSetExtremeValues":false,
                          "purgeOverride":false,
                          "purgePeriod":1,
                          "readPermission":"",
                          "setExtremeHighLimit":1.7976931348623157E308,
                          "setExtremeLowLimit":-1.7976931348623157E308,
                          "setPermission":"",
                          "tags":{
                          },
                          "textRenderer":{
                            "type":"BINARY",
                            "oneColour":"rgb(255, 51, 51)",
                            "oneLabel":"OFF",
                            "zeroColour":"rgb(102, 255, 102)",
                            "zeroLabel":"ON"
                          },
                          "tolerance":0.0
                        },
                        {
                          "xid":"DP_Equipo05A",
                          "name":"ON \/ OFF (0 = ON - 1 = OFF )",
                          "enabled":true,
                          "loggingType":"ON_CHANGE",
                          "intervalLoggingPeriodType":"MINUTES",
                          "intervalLoggingType":"INSTANT",
                          "purgeType":"YEARS",
                          "pointLocator":{
                            "dataType":"BINARY",
                            "changeType":{
                              "type":"NO_CHANGE",
                              "startValue":"true"
                            },
                            "settable":true
                          },
                          "eventDetectors":[
                          ],
                          "plotType":"STEP",
                          "rollup":"NONE",
                          "unit":"",
                          "simplifyType":"NONE",
                          "chartColour":"",
                          "chartRenderer":{
                            "type":"TABLE",
                            "limit":10
                          },
                          "dataSourceXid":"DS_EdificioA",
                          "defaultCacheSize":1,
                          "deviceName":"Equipo 05 A",
                          "discardExtremeValues":false,
                          "discardHighLimit":1.7976931348623157E308,
                          "discardLowLimit":-1.7976931348623157E308,
                          "intervalLoggingPeriod":15,
                          "intervalLoggingSampleWindowSize":0,
                          "overrideIntervalLoggingSamples":false,
                          "preventSetExtremeValues":false,
                          "purgeOverride":false,
                          "purgePeriod":1,
                          "readPermission":"",
                          "setExtremeHighLimit":1.7976931348623157E308,
                          "setExtremeLowLimit":-1.7976931348623157E308,
                          "setPermission":"",
                          "tags":{
                          },
                          "textRenderer":{
                            "type":"BINARY",
                            "oneColour":"rgb(255, 51, 51)",
                            "oneLabel":"OFF",
                            "zeroColour":"rgb(102, 255, 102)",
                            "zeroLabel":"ON"
                          },
                          "tolerance":0.0
                        }
                      ]
                    }
                    

                    Scritped Data Source with Trigger Point

                    {
                      "dataSources":[
                        {
                          "xid":"DS_ScriptEdificioA",
                          "name":"Script Edificio A",
                          "enabled":true,
                          "type":"SCRIPTING",
                          "alarmLevels":{
                            "SCRIPT_ERROR":"DO_NOT_LOG",
                            "CONTEXT_POINT_DISABLED":"DO_NOT_LOG",
                            "DATA_TYPE_ERROR":"DO_NOT_LOG",
                            "POLL_ABORTED":"DO_NOT_LOG",
                            "LOG_ERROR":"DO_NOT_LOG"
                          },
                          "purgeType":"YEARS",
                          "updatePeriods":5,
                          "updatePeriodType":"SECONDS",
                          "updateEvent":"UPDATE",
                          "context":[
                            {
                              "varName":"pt01",
                              "dataPointXid":"DP_Equipo01A",
                              "updateContext":false
                            },
                            {
                              "varName":"pt02",
                              "dataPointXid":"DP_Equipo02A",
                              "updateContext":false
                            },
                            {
                              "varName":"pt03",
                              "dataPointXid":"DP_Equipo03A",
                              "updateContext":false
                            },
                            {
                              "varName":"pt04",
                              "dataPointXid":"DP_Equipo04A",
                              "updateContext":false
                            },
                            {
                              "varName":"pt05",
                              "dataPointXid":"DP_Equipo05A",
                              "updateContext":false
                            }
                          ],
                          "logLevel":"NONE",
                          "scriptPermissions":[
                            "superadmin"
                          ],
                          "polling":false,
                          "executionDelaySeconds":0,
                          "historicalSetting":false,
                          "logCount":5,
                          "logSize":1.0,
                          "script":"\/\/First: Get triggerA data.\r\nvar triggerPoint = triggerA.getDataPointWrapper();\r\n\r\n\/\/Second: For each point in CONTEXT_POINTS\r\n\/\/For example: Equipo 01 A, Equipo 02 A...\r\nfor (var contextPoint in CONTEXT_POINTS) {\r\n    \r\n    \/\/Third: Get the data\/status of each point.\r\n    \/\/For example: Equipo 01 A data.\r\n    var currentPoint = this[contextPoint].getDataPointWrapper();\r\n   \r\n    var triggerRuntimeValue = triggerPoint.runtime.value;\r\n    \r\n    if(currentPoint.xid === triggerPoint.xid) {\r\n        \/\/Considering that triggerA belongs to CONTEXT_POINTS.\r\n        \/\/We have to skip this one to avoid an infinite loop.\r\n        continue;\r\n        \r\n    } else {\r\n        \r\n        if(triggerRuntimeValue === true) {\r\n            currentPoint.runtime.set( false );\r\n            \r\n        } else if (triggerRuntimeValue === false) {\r\n            currentPoint.runtime.set( true );\r\n        }\r\n    }\r\n }",
                          "quantize":true,
                          "useCron":false,
                          "editPermission":"superadmin",
                          "purgeOverride":false,
                          "purgePeriod":1
                        }
                      ],
                      "dataPoints":[
                        {
                          "xid":"DP_scriptingEdificioA",
                          "name":"Trigger Edificio A",
                          "enabled":true,
                          "loggingType":"ON_CHANGE",
                          "intervalLoggingPeriodType":"MINUTES",
                          "intervalLoggingType":"INSTANT",
                          "purgeType":"YEARS",
                          "pointLocator":{
                            "dataType":"BINARY",
                            "contextUpdate":true,
                            "settable":true,
                            "varName":"triggerA"
                          },
                          "eventDetectors":[
                          ],
                          "plotType":"STEP",
                          "rollup":"NONE",
                          "unit":"",
                          "simplifyType":"NONE",
                          "chartColour":"",
                          "chartRenderer":{
                            "type":"TABLE",
                            "limit":10
                          },
                          "dataSourceXid":"DS_ScriptEdificioA",
                          "defaultCacheSize":1,
                          "deviceName":"Script Edificio A (Trigger)",
                          "discardExtremeValues":false,
                          "discardHighLimit":1.7976931348623157E308,
                          "discardLowLimit":-1.7976931348623157E308,
                          "intervalLoggingPeriod":1,
                          "intervalLoggingSampleWindowSize":0,
                          "overrideIntervalLoggingSamples":false,
                          "preventSetExtremeValues":false,
                          "purgeOverride":false,
                          "purgePeriod":1,
                          "readPermission":"",
                          "setExtremeHighLimit":1.7976931348623157E308,
                          "setExtremeLowLimit":-1.7976931348623157E308,
                          "setPermission":"",
                          "tags":{
                          },
                          "textRenderer":{
                            "type":"BINARY",
                            "oneColour":"rgb(102, 255, 102)",
                            "oneLabel":"ON",
                            "zeroColour":"rgb(255, 51, 51)",
                            "zeroLabel":"OFF"
                          },
                          "tolerance":0.0
                        }
                      ]
                    }
                    

                    Worked great!
                    I wanted to thank you again!
                    Best,
                    Rodrigo

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

                      Nicely done Rod! Proud of you man!

                      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
                      • R
                        Rodrigo
                        last edited by

                        :)
                        Thanks, my background is actually electromechanical, so this is like advance chinese translated to esperanto hahaha
                        I miss DGLux, the combination with Mango was very powerful, at least for my not programmer capacity.

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

                          Feel free to message me in the future if you need any programming. Always happy to give some advice.

                          Fox

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

                          R 1 Reply Last reply Reply Quote 0
                          • R
                            Rodrigo @MattFox
                            last edited by

                            Hi @mattfox are you available for a quick chat?

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

                              Message sent

                              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
                              • First post
                                Last post