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

A problem in [set data] [dataSource-HTTP receiver]


  • Sorry, my title is not very clear.

    • I have a dataSource from HTTP receiver. Here we set the datapoint's name GET_LIGHT.
      I dessigned a dashboard. using "Point Value" to show GET_LIGHT's value. <- work well

    • I have a dataSource from Virtual data source. Here we set the datapoint's name SET_LIGHT.
      at the same dashboard. using "Binary Switch Button" to control SET_LIGHT's value. <- work well

    • when they work together, Control the "Binary Switch Button" and "Point Value" changed(Although they are not directly connected). <- work well

    • BUT, when another controller change the light(such as using light_switch at scene). "Point Value" in dashboard can change. "Binary Switch Button" can NOT change(because the Virtual data source not change). <- problem here

    I'm not very proficient in using Mango system.
    is there a way when GET_LIGHT changed making the Virtual data source SET_LIGHT change as well?
    Or I dont need a Virtual data source, another way to solve this problem?

    review this topic title, How can I describe this problem in one sentence? ^_^


  • Hi

    It will be easier for us if you show us your points and your dashboard code. It is hard to know exactly what you have done.


  • https://help.infiniteautomation.com/reporting-bugs

    Please try and include a minimal example that reproduces your issue.


  • @craigweb thank you first!
    I don't know if what I'm offering is what you want.
    here is "dashboard code":

    <ma-point-value id="e76d6d6c-45f1-440c-90f3-c446aa6c87b6" enable-popup="hide" style="position: absolute; left: 399px; top: 75px; width: 25px; height: 25px;" point-xid="DP_c6eebfd0-d128-4ea2-8bf1-77f7cf355edd"></ma-point-value>
    <ma-switch id="078c0795-8eba-4cc1-9166-f62c62de3af6" style="position: absolute; left: 394px; top: 220px; width: 50px; height: 50px; background-color: rgb(0, 46, 92);" point-xid="DP_da02f5a8-afc1-4ecb-ba8c-403ffe6345dd"></ma-switch>
    

    here is dataSource-dataPoint(SET_LIGHT):
    (also, I use mango-publisher to publish this. In this way I control my light)
    (<ma-switch> Connect with this)

    {
       "dataPoints":[
          {
             "xid":"DP_da02f5a8-afc1-4ecb-ba8c-403ffe6345dd",
             "name":"Light01_print",
             "enabled":true,
             "loggingType":"ON_CHANGE",
             "intervalLoggingPeriodType":"MINUTES",
             "intervalLoggingType":"INSTANT",
             "purgeType":"YEARS",
             "pointLocator":{
                "dataType":"BINARY",
                "changeType":{
                   "type":"NO_CHANGE",
                   "startValue":"0"
                },
                "settable":true
             },
             "eventDetectors":[
             ],
             "plotType":"STEP",
             "rollup":"NONE",
             "unit":"",
             "templateXid":"Light",
             "simplifyType":"NONE",
             "chartColour":"",
             "chartRenderer":{
                "type":"TABLE",
                "limit":10
             },
             "dataSourceXid":"DS_afafb004-8328-49e6-8bbb-1e5520c377d8",
             "defaultCacheSize":1,
             "deviceName":"TEST2",
             "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":"#99ff99",
                "oneLabel":"",
                "zeroColour":"#c0c0ee",
                "zeroLabel":""
             },
             "tolerance":0.0
          }
       ]
    }
    

    here is dataSource-dataPoint(GET_LIGHT):
    My light send HTTP message to Mango.

    {
       "dataPoints":[
          {
             "xid":"DP_c6eebfd0-d128-4ea2-8bf1-77f7cf355edd",
             "name":"light01",
             "enabled":true,
             "loggingType":"ON_CHANGE",
             "intervalLoggingPeriodType":"MINUTES",
             "intervalLoggingType":"INSTANT",
             "purgeType":"YEARS",
             "pointLocator":{
                "dataType":"BINARY",
                "binary0Value":"false",
                "includeTimestamp":false,
                "parameterName":"light01",
                "setPointName":"",
                "settable":false
             },
             "eventDetectors":[
             ],
             "plotType":"STEP",
             "rollup":"NONE",
             "unit":"",
             "templateXid":"ReadLight",
             "simplifyType":"NONE",
             "chartColour":"",
             "chartRenderer":{
                "type":"TABLE",
                "limit":10
             },
             "dataSourceXid":"DS_0638891e-846e-4413-a3d3-c5b5596f688a",
             "defaultCacheSize":1,
             "deviceName":"light_source",
             "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":"#eeee00",
                "oneLabel":"亮",
                "zeroColour":"#c0c0ee",
                "zeroLabel":"灭"
             },
             "tolerance":0.0
          }
       ]
    }
    

    [virtual data source] and [<ma-switch> control and show data] work well
    [virtual data publisher] work well
    [hard device (light)] work well
    [<ma-point-value> receive HTTP msg and show value] work well
    The problem is that when someone controls the light from other systems, <ma-point-value> displays normally and the <ma-switch> does not.
    (Of course I know because the data is not connected. but how)
    (Please let me know what else you need.)


  • Hi @cuihe

    You can use a point link to update you switch point every time the light changes. The point link icon is to the right of the data source Icon and looks like 2 chain links. You can read the point link help as well by clicking on the help icon.

    I think this will get quite messy if you are not able to read the switches position...


  • @craigweb thank you !
    this problem solved!