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.

  • SVG ma-selector change text within SVG

    5
    0 Votes
    5 Posts
    1k Views
    J
    @phildunlap Great that works! Thank you very much
  • make set point stick in script

    7
    0 Votes
    7 Posts
    2k Views
    phildunlapP
    The checkmark is intended to validate that the script is working as intended. It would strike me as rather unfortunate if mistakes during development made it to devices. You can also trigger a meta point to execute using the "Force read (if supported)" circular arrow icon on the data point details page (formerly "Refresh" in the old pages), or from a running script body (not a validate) using RuntimeManager.refreshDataPoint( dataPointXid ); if the script has permissions to the points' data source.
  • MQTT Datasource

    mqtt
    4
    0 Votes
    4 Posts
    2k Views
    MattFoxM
    No problem, always happy to assist. Fox
  • 0 Votes
    3 Posts
    766 Views
    M
    Awesome, thanks Phil
  • DNP3 polling not working with 'non-standard' port settings

    2
    0 Votes
    2 Posts
    932 Views
    phildunlapP
    Hi tom_buzink, While the DNP3 module is in a private repo, the source code for the underlying protocol implementation is available: https://github.com/infiniteautomation/DNP34J The only use of the port in our code is setting up classes in DNP34J, like, @Override public void initialize() { EthernetParameters params = new EthernetParameters(configuration.getHost(), configuration.getPort()); DNPConfig config = new DNPConfig(params, configuration.getSourceAddress(), configuration.getSlaveAddress()); super.initialize(config); } which is then calling protected boolean initialize(DNPConfig config) { config.setRequestTimeout(vo.getTimeout()); config.setRequestRetries(vo.getRetries()); // dnp3Master.setStaticPollMultiplier(vo.getStaticPollPeriods()); user = new DNPUser(config); try { user.init(); initialized = true; returnToNormal(DATA_SOURCE_EXCEPTION_EVENT, System.currentTimeMillis()); } catch (Exception e) { raiseEvent(DATA_SOURCE_EXCEPTION_EVENT, System.currentTimeMillis(), true, new TranslatableMessage( "event.exception2", vo.getName(), e.getMessage())); LOG.debug("Error while initializing data source", e); this.initialized = false; try { user.stop(); } catch(Exception e2) {} //munch return false; } super.initialize(); //com.serotonin.m2m2.rt.dataSource.PollingDataSource return true; } While I do not have much experience with DNP3 devices in particular, it is odd to me that you would say it works and then stops working. What version of Mango are you using? Does disabling and re-enabling the data source cause it to start working again if it is on a non-20000 port? If you observe it not polling anymore (but had been) when not using the standard port, I would be curious to see the output of going to the /rest/v1/threads?asFile=true&stackDepth=40 endpoint in your browser, which you could email into support@infiniteautomation.com and I would take a look at it
  • Unable to delete Webpages in Firefox

    2
    0 Votes
    2 Posts
    826 Views
    Jared WiltshireJ
    @Holzatelier Sorry you had problems, there was a bug on that page indeed. I've fixed it and it will work in the next release of Mango (3.5.0) which is due in a week or so.
  • Import values from python script?

    21
    0 Votes
    21 Posts
    14k Views
    phildunlapP
    Hi Holzatelier, You should see a confirm dialogue. What browser are you using? I was not able to reproduce in Chrome on the latest. I hate to pepper you with questions, but I'm still hoping I just overlooked something really obvious. No worries. But, this particular thread has strayed quite far from its topic. Don't hesitate to make more topics, it is ultimately a better question-answer or discussion style than threads twisting to new topics.
  • v3 Watchlist doesn't show live point data

    2
    0 Votes
    2 Posts
    961 Views
    phildunlapP
    Hi KroniK907, Have you checked the log file for any errors? What about your developer console? Do you have a proxy involved in accessing this server? It sounds to me like it's a problem with the websockets, and I would guess there is a proxy involved.
  • Get roll up in scripted data source

    3
    0 Votes
    3 Posts
    1k Views
    MattFoxM
    Excellent Phil! Much appreciated thanks!
  • Error when attempting SNMP SET

    6
    0 Votes
    6 Posts
    2k Views
    J
    @phildunlap I installed version 3.4.1 and works perfect! Thank you.
  • Excel report generating incongruent values

    2
    0 Votes
    2 Posts
    992 Views
    P
    I believe the error must be in the input file because I removed 409 completely and 409 values still got populated.. I will recreate the input file next. I removed the range and recreated it and now get and error when running "Cannot get a NUMERIC value from a STRING formula cell" Don't know where this is coming from because all the cells are formatted as numeric
  • Linux Ubuntu Bacnet can see devices but not read any values

    3
    0 Votes
    3 Posts
    1k Views
    H
    Hi Phil Thanks for your response. The issue seems to have resolved itself over night. When I started this morning the values showed up alright. P.S. Broadcast address of 255.255.255.255 with bind adress 0.0.0.0 does not work for me. The devices are not found.
  • Softether vs OpenVPN

    8
    0 Votes
    8 Posts
    2k Views
    MattFoxM
    Correct
  • Setting a value using the context timestamp

    4
    0 Votes
    4 Posts
    1k Views
    phildunlapP
    This will be resolved in the upcoming 3.5 release, where calls to set() from a history generation will result in storing that value in the database, but not sending it out the device.
  • Confusing behaviour using JSON store and ng-map info-window

    4
    0 Votes
    4 Posts
    997 Views
    phildunlapP
    Note: there seems to be all sorts of funky issues with using ng-repeat within a ng-map I have discovered in my research. I was able to recreate the issue you're describing and show it to Jared. He said something pretty similar about ng-map having some odd behaviors waiting to be uncovered. I guess the good news in your observations is that placing the empty expression evaluation seems to get it to work, so maybe that's an acceptable solution? I tried a few other things like creating a bulletin in the scope and assigning the json store directive's outputs to keys on the bulletin, but I got the same behavior still. What was weird to me is that (inside the info window) <ma-json-store xid="my xid here" item="item" value="value"></ma-json-store> <!-- can be outside the info window, same behavior --> value: {{}} {{value}}<br/> <!-- renders, clearly has 'key' attribute --> value.key: {{value.key}}<br/> <!-- doesn't render --> I think it's just an oddity of ng-map. If the solution you found is acceptable, that's probably where it'll get left. I didn't seem to get messages to my developer console specific to when I had things that didn't appear. Very strange behavior.
  • Data Source not loading withChrome

    3
    0 Votes
    3 Posts
    1k Views
    phildunlapP
    Hi sbalk, You're looking for this thread: https://forum.infiniteautomation.com/topic/3551/data-sources-does-not-appear TLDR known issue, fixed by updating the xstyle library in the web directory, can be done on 2.8 instances or instances that aren't otherwise staying up to date manually with Jared's suggestion at the end of the thread.
  • SVG ng-bind Rounding numbers

    4
    0 Votes
    4 Posts
    1k Views
    phildunlapP
    Interesting suggestion Thomas! For that matter, one could use acmain.units (or perhaps you would get it from the text renderer suffix if it's set up that way) and avoid having to keep the markup's units matching the points'. And should one have a converting unit, one could use acmain.convertedValue instead of acmain.value I like the idea of a page setting for the precision!
  • Best approach to aggregate 2 meta points

    5
    0 Votes
    5 Posts
    1k Views
    P
    Yes I suppose concurrent points would be an issue.. I have had this working now for a few days and it seems to be functioning correct although the virtual point seems like a clean way to mitigate the concurrency so I will probably try that, Thanks Guys.
  • Problem with Menu

    2
    0 Votes
    2 Posts
    946 Views
    MattFoxM
    Looks like a load of missing menu items to me. If you can edit the JSON, Amend it to this: { "menuItems": [{ "name": "ui.dataPointDetails", "permission": "superadmin" }, { "name": "ui.events", "permission": "edit-ui-pages" }, { "name": "ui.watchList", "permission": "edit-ui-pages" }, { "name": "ui.settings", "permission": "superadmin" }, { "name": "ui.help", "permission": "superadmin" }, { "name": "ui.docs", "menuHidden": false, "permission": "superadmin" }, { "name": "ui.plantaDeTratamiento", "url": "/planta-de-tratamiento", "linkToPage": true, "permission": "user", "menuText": "Planta de Tratamiento", "pageXid": "cd3b879e-125a-4544-9df4-7b7479b6c017", "menuHidden": false, "weight": 1000, "abstract": false, "menuTr": "Planta Tratamiento" }, { "name": "ui.estacionbomb.acueducto", "url": "/acueducto", "linkToPage": true, "permission": "user", "menuText": "Estacion Bombeo", "menuTr": "", "pageXid": "3efbd854-5e20-4fc7-8e78-a7a1d4ce15f1", "menuHidden": false, "weight": 1000, "menuIcon": "E", "abstract": true }, { "name": "ui.estacionbomb.acueducto.estacionbomb", "url": "/estacionbomb", "linkToPage": true, "permission": "user", "menuText": "Estacion de Bombeo", "pageXid": "3efbd854-5e20-4fc7-8e78-a7a1d4ce15f1", "menuHidden": false, "weight": 1000, "abstract": true, "menuIcon": "E" } ] }
  • Cascade Pump Controller.

    2
    0 Votes
    2 Posts
    922 Views
    phildunlapP
    Hi Pikey4, We typically encourage use of Mango in a mainly supervisory role to the controller. In my mind, it would primarily matter about how the timing and response needs to be. Should you require a response time that is always necessarily predictable and minuscule, you could encounter complications with things like Java garbage collection and whatnot. Having a webserver would provide an opportunity to spontaneously increase the memory load of the unit, and if it paused control when millisecond timing was important, that would be a problem. I would not let Mango time my engine's firing. But, I wouldn't hesitate to let it toggle my vehicle between driving modes (if I had such modes). Beyond timing as a concern (because it will respond within seconds almost always), one could question the reliability of the endeavor. Mango is crashable. You can crash it still by doing things like running massive reports or kicking off an infinite loop in a script validation. What's more, Mango has a webserver, so you need to either lock down access or your control system could get hit with a denial of service attack. Bad news. Then there are the issues that the user of Mango could build into their solution (in haste or innocence) because Mango is complex. If Mango is logging data and the disk fills up, you wouldn't want the process control to suffer. Then there are issues [a] developer[s] create[d], because Mango is complex. I'm not familiar with cascading pumps for demand, so I can't comment on the specific problems you may face there. But I certainly think you can have Mango making determinations in your distributed system and submitting controls, for sure. Most situations are different, so there is just cause for much thought on the redundancies required and the ways Mango could fail in a given system, and how the system can fail. We always encourage publishing the data to a cloud Mango instance if you are doing controls with Mango, and then visualizing your data in the cloud instance. We are a SCADA platform, we do SCADA applications.