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.

  • Batch or Bulk change discovered bacnet point device Names

    5
    0 Votes
    5 Posts
    2k Views
    raylatbasixR
    Thanks Phil. I should be all set.
  • permission groups

    2
    0 Votes
    2 Posts
    1k Views
    Jared WiltshireJ
    @dovydasz said in permission groups: So now I created a user 'test' with permissions group 'user1', Ensure every user has the 'user' permission also. @dovydasz said in permission groups: edited my dashboard page "apzvalgine" to "Permissions required: user, user1" in Edit menu items window. This will control who can see the menu item not who can access the page. You are only required to have one of the permissions to see the menu item.
  • Disabled Emailing of alarms and websocket issue

    12
    0 Votes
    12 Posts
    3k Views
    Jared WiltshireJ
    @Bhanner just looked it over and it doesn't look like there's anything wrong with it. Are you using the latest Chrome and the latest Mango and UI module? Does the tab freeze up every time at the same time? Is it reproducible under a certain set of conditions? [edit] Its possible this is from a bug where the point value component was fetching events from the API too frequently, maybe try purging old events and upgrading your UI/API module.
  • Excel export to JSON

    2
    0 Votes
    2 Posts
    831 Views
    phildunlapP
    Hi psysak, It's not exactly what you requested, but it's a similar gist for an option. There may be more excel based options - but I like the python based options so that's the main angle I'd come at it from. Here's a CSV of modbus points (Excel --> Export as CSV, or you can export using another separator you don't use in the data): Modbus Register,# of Modbus Registers,Description,Format,Properties 43012,2,Record Number (x),UINT32,Read 43014,2,UTC Seconds,UINT32,Read 43016,2,UTC MicroSeconds,UINT32,Read 43018,2,Source 1 Input Data,FLOAT,Read 43020,2,Source 2 Input Data,FLOAT,Read 43022,2,Source 3 Input Data,FLOAT,Read 43024,2,Source 4 Input Data,FLOAT,Read 43026,2,Source 5 Input Data,FLOAT,Read 43028,2,Source 6 Input Data,FLOAT,Read 43030,2,Source 7 Input Data,FLOAT,Read 43032,2,Source 8 Input Data,FLOAT,Read 43034,2,Source 9 Input Data,FLOAT,Read 43036,2,Source 10 Input Data,FLOAT,Read 43038,2,Source 11 Input Data,FLOAT,Read 43040,2,Source 12 Input Data,FLOAT,Read 43042,2,Source 13 Input Data,FLOAT,Read 43044,2,Source 14 Input Data,FLOAT,Read 43046,2,Source 15 Input Data,FLOAT,Read 43048,2,Source 16 Input Data,FLOAT,Read 43088,2,Record Number (x+2),UINT32,Read 43090,2,UTC Seconds,UINT32,Read 43092,2,UTC MicroSeconds,UINT32,Read 43094,2,Source 1 Input Data,FLOAT,Read 43096,2,Source 2 Input Data,FLOAT,Read 43098,2,Source 3 Input Data,FLOAT,Read 43100,2,Source 4 Input Data,FLOAT,Read And here's my python script that consumes it: import re modbusDataTypes = {"FLOAT":"FOUR_BYTE_FLOAT", "UINT32":"FOUR_BYTE_INT_UNSIGNED"} xidPrefix = "SJ3_" baseModbusPoint = """{ "xid":"%(xid)s", "name":"%(name)s", "enabled":true, "loggingType":"INTERVAL", "intervalLoggingPeriodType":"MINUTES", "intervalLoggingType":"AVERAGE", "purgeType":"YEARS", "pointLocator":{ "range":"HOLDING_REGISTER", "modbusDataType":"%(modbusDataType)s", "writeType":"NOT_SETTABLE", "additive":0.0, "bit":0, "charset":"ASCII", "multiplier":1.0, "offset":%(offset)s, "registerCount":2, "slaveId":1, "slaveMonitor":false }, "eventDetectors":[ ], "plotType":"SPLINE", "unit":"", "templateXid":"Numeric_Default", "chartColour":"black", "chartRenderer":{ "type":"IMAGE", "timePeriodType":"DAYS", "numberOfPeriods":1 }, "dataSourceXid":"DS_849061", "defaultCacheSize":1, "deviceName":"test_mod 502", "discardExtremeValues":false, "discardHighLimit":1.7976931348623157E308, "discardLowLimit":-1.7976931348623157E308, "intervalLoggingPeriod":1, "intervalLoggingSampleWindowSize":0, "overrideIntervalLoggingSamples":false, "purgeOverride":false, "purgePeriod":1, "readPermission":"", "setPermission":"", "textRenderer":{ "type":"ANALOG", "useUnitAsSuffix":true, "unit":"", "renderedUnit":"", "format":"0.00" }, "tolerance":0.0 }""" modbusRegisterMap = open("simpleModbusCSV.csv") outputFile = open("modbusGeneratorOut.json", "w+") outputFile.write("{") outputFile.write("\"dataPoints\":[") for line in modbusRegisterMap : fields = line.split(",") if not len(fields) > 1 or re.search("^4",fields[0]) is None : continue holdingOffset = re.search("4([0-9]+)", fields[0]).group(1) outputFile.write(baseModbusPoint % {"name": fields[2],"xid": xidPrefix+fields[2].replace(" ", "_"), "offset": holdingOffset, "modbusDataType":modbusDataTypes[fields[3]],}) outputFile.write("]}") outputFile.close() modbusRegisterMap.close() You can see all i'm doing is setting the name, xid, offset, and modbusDataType for the points and writing out a {"dataPoints":[ ... ]} list to modbusGeneratorOut.json
  • apache2 reverse proxy setup

    4
    0 Votes
    4 Posts
    2k Views
    D
    Thank you! It's working now :)
  • Using Persistent TCP points in script calculations

    41
    0 Votes
    41 Posts
    40k Views
    P
    OK so it's 100% that context point. Here is how the log looks without the context point ubuntu@ip-172-31-5-12:~/mango/logs$ cat metaPoint-494.log INFO 2018-01-16 16:14:50,747 - Data point started TRACE 2018-01-16 16:17:00,035 - Time:1516137420000 TRACE 2018-01-16 16:17:00,056 - Array size:15 TRACE 2018-01-16 16:32:00,005 - Time:1516138320000 TRACE 2018-01-16 16:32:00,009 - Array size:15 Nice and clean. With the context point in the script I have this mess INFO 2018-01-16 16:14:35,911 - Data point started TRACE 2018-01-16 16:15:00,649 - Time:1516136400000 TRACE 2018-01-16 16:15:00,672 - Array size:15 TRACE 2018-01-16 16:15:00,700 - Time:1516136460000 TRACE 2018-01-16 16:15:00,704 - Time:1516136520000 TRACE 2018-01-16 16:15:00,704 - Time:1516136580000 TRACE 2018-01-16 16:15:00,704 - Time:1516136640000 TRACE 2018-01-16 16:15:00,705 - Time:1516136700000 TRACE 2018-01-16 16:15:00,710 - Time:1516136760000 TRACE 2018-01-16 16:15:00,710 - Time:1516136820000 TRACE 2018-01-16 16:15:00,710 - Time:1516136880000 TRACE 2018-01-16 16:15:00,710 - Time:1516136940000 TRACE 2018-01-16 16:15:00,710 - Time:1516137000000 TRACE 2018-01-16 16:15:00,710 - Time:1516137060000 TRACE 2018-01-16 16:15:00,710 - Time:1516137120000 TRACE 2018-01-16 16:15:00,710 - Time:1516137180000 TRACE 2018-01-16 16:15:00,711 - Time:1516137240000 TRACE 2018-01-16 16:17:00,003 - Time:1516137420000 TRACE 2018-01-16 16:30:00,671 - Time:1516137300000 TRACE 2018-01-16 16:30:00,686 - Array size:1 TRACE 2018-01-16 16:30:00,688 - Time:1516137360000 TRACE 2018-01-16 16:30:00,689 - Time:1516137420000 TRACE 2018-01-16 16:30:00,689 - Time:1516137480000 TRACE 2018-01-16 16:30:00,690 - Time:1516137540000 TRACE 2018-01-16 16:30:00,690 - Time:1516137600000 TRACE 2018-01-16 16:30:01,102 - Time:1516137660000 TRACE 2018-01-16 16:30:01,102 - Time:1516137720000 TRACE 2018-01-16 16:30:01,102 - Time:1516137780000 TRACE 2018-01-16 16:30:01,103 - Time:1516137840000 TRACE 2018-01-16 16:30:01,104 - Time:1516137900000 TRACE 2018-01-16 16:30:01,105 - Time:1516137960000 TRACE 2018-01-16 16:30:01,105 - Time:1516138020000 TRACE 2018-01-16 16:30:01,105 - Time:1516138080000 TRACE 2018-01-16 16:30:01,105 - Time:1516138140000 TRACE 2018-01-16 16:32:00,000 - Time:1516138320000 Thing just goes nuts... OK, on to Return of the Jedi
  • Auto start/restart Mango (daemonise)?

    5
    0 Votes
    5 Posts
    4k Views
    phildunlapP
    Alas I can't recall what thread I was linking. Having a watchdog you've written into a cron is an option, for sure. I believe Jeremy was asking about how to make a service definition that handles the restarting, which will depend on your service daemon. I can try to assist with looking into a particular daemon, if requested. About the easiest, platform-independent way to get a Mango to restart if something gets bad is to put a process event handler on the System Startup event to touch /path/to/Mango/RESTART which will use the mechanisms in the startup scripts to restart Mango. This will fail if the startup fails, but so would any other restart method. Using this you could get a rudimentary persistence by simply adding the launch command into your rc.local. This would cause your Mango to restart if you issued an ./ma.sh stop, as well, or a kill -9 to Java, etc. You would have to kill the ma-start.sh script to kill the restarting. Other than that, it'll be service definitions I would advise for starting / restarting Mango.
  • Temporal observational data on collected data

    8
    1 Votes
    8 Posts
    2k Views
    Jared WiltshireJ
    @thutchis Turn on the Swagger API documentation by setting swagger.enabled=true in your overrides env.properties file. Check that swagger.mangoApiVersion=v[12] too. You can then access the REST API documentation at /swagger/index.html Just quickly though- Get tags for a data point XID: GET /rest/v2/data-point-tags/{xid} Set tags for a data point XID: POST /rest/v2/data-point-tags/{xid} Body is a JSON object { "tagKey": "tagValue", "site": "Denver" } To query for data points with a given set of tags: GET /rest/v2/data-points?tags.site=Denver&tags.device=MachineX Note there are psuedo-tags device and name which map to the data point's device name and name respectively.
  • OPC DA settable tags always false

    4
    0 Votes
    4 Posts
    1k Views
    phildunlapP
    Great! Glad to hear it! We'll have to look into why the UI is as it is.
  • Data Source Copy error

    2
    0 Votes
    2 Posts
    1k Views
    phildunlapP
    Hi dovydas, Thanks for bringing this to our attention. This is fixed in the upcoming 3.3 release (this upcoming Monday, partially released if you're on the beta release channel or lower). This was its git issue: https://github.com/infiniteautomation/ma-core-public/issues/1163
  • Run time for a data point

    3
    0 Votes
    3 Posts
    1k Views
    D
    Hi All, Mango is so sweet! I've got it which run perfectly and display out in the dashboard as per my requirement. Thank you once again for the prompt reply.
  • Template point

    6
    0 Votes
    6 Posts
    1k Views
    phildunlapP
    Ah. Well, fortunately or unfortunately, Mango is versatile enough there are places for mistakes to creep in. There have been instances of Joel travelling and providing training, but that carries its price tag and is most useful if there are several people to be trained. Past that, there is no formal training, only the various help resources and this forum - which due to the lack of training I do my best to answer promptly with my eyes on posterity and simplicity (usually). Personally, I would enjoy trying to get some of the knowledge bumbling around my head bumbling around others' heads, but the prioritization has me creating more functioning puzzles rather than trying to explicate the existing puzzles.
  • Create a vertical guideline for catagoryAxis

    3
    0 Votes
    3 Posts
    2k Views
    Jared WiltshireJ
    https://www.amcharts.com/kbase/vertical-or-horizontal-lines-or-fill-ranges/ https://docs.amcharts.com/3/javascriptcharts/Guide
  • maEventAudio issues

    8
    0 Votes
    8 Posts
    3k Views
    B
    @jared-wiltshire said in maEventAudio issues: @balistar I came checked into this and if you use acknowledged="false" instead of acknowledged="'false'" you should get the correct result. Thanks, that worked. "Acknowledge Box" shows all filtered events.
  • Converting "units"

    3
    0 Votes
    3 Posts
    1k Views
    P
    Woooow... I shall stick to my current META script way :) Thanks!
  • List of events for users

    4
    0 Votes
    4 Posts
    2k Views
    Jared WiltshireJ
    @dovydasz said in List of events for users: I think I found that it's a Firefox issue.. I can see events list with Chrome browser (for both user and superadmin), and with MS Edge, but it's not working on Firefox ESR 52.5.2 (32-bit) for Windows. So it's not related to user permissions. Yep you're quite right I can replicate in Firefox 52, thanks for tracking that down. Sorry for the inconvenience. I'll try and get a fix out soon. edit. Turns out its a bug in Angular.js, I've added a workaround for the next release. A lot of pages would have been broken by this same bug.
  • Custom dataPoint xid's

    2
    0 Votes
    2 Posts
    868 Views
    Jared WiltshireJ
    There is a 50 character limit, there are technically no restrictions on which characters you can use but in practice I'd recommend only using alpha numeric, dash and underscore.
  • Where to enter user supplied data?

    2
    1 Votes
    2 Posts
    1k Views
    phildunlapP
    Hi thutchis, Probably yes. There is some discussion in another recent thread (https://forum.infiniteautomation.com/topic/3180/temporal-observational-data-on-collected-data) about other options (and a script to automatically create observation points of a sort), but if you use alphanumeric virtual points (that other thread uses alphanumeric script points) you will have the same sets of tools (reports, script contexts) as the other data points you're working with.
  • 0 Votes
    1 Posts
    766 Views
    No one has replied
  • "Rollup" on Point Properties

    2
    0 Votes
    2 Posts
    956 Views
    phildunlapP
    Hi psysak, bring it on! In the new UI, we'll be using that as the default for the point most places. You should be able to see 'Point default' as a rollup option in the date bar, which should then use the point's configured rollup for the charts and such on the pages in the new UI.