• 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.
    • 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