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.

  • Fail2Ban on mango server

    2
    0 Votes
    2 Posts
    926 Views
    CraigWebC
    Hi @psysak As of version 3.4.3 there is a configurable rate limiter in the env.properties file. https://forum.infiniteautomation.com/topic/3552/version-3-4-3-released
  • CSV with 1 minute rollup auto emailed via Meta Source

    21
    0 Votes
    21 Posts
    8k Views
    MattFoxM
    Thanks Phil, I should have asked you about that months ago. Having no timestamp with the values turned me away from using it.
  • Thank you to everyone for the help

    4
    0 Votes
    4 Posts
    2k Views
    P
    @phildunlap said in Thank you to everyone for the help: The versatility of Mango could lead you back to it even if you find yourself in another industry, or perhaps even tinkering with home automation systems, and you'll be welcomed back should it! Absolute fact, I'll most likely do some stuff around the house with it. The melding of the old school controls world with modern API's, web based stuff etc is pretty impressive and powerful! I'll be working a lot with Haystack in my next adventure so if there's some opportunity to bring Mango into the fold I will do what I can to make that happen.
  • Data Point Timing

    8
    0 Votes
    8 Posts
    1k Views
    BGB
    Hello Jarrod, I have seen in some Java forums about the issue you mentioned. That would explain the differences that I have seen. I have taken your advice and set the env.properties file so that timezone=UTC and that seems to have solved the problem. My downloads are now giving correct times. And the cron patterns are now working and not changing the times! Thank you all for your help in sorting out a confusion for us. Cheers Brian
  • BACnet Multiple Subnets

    1
    0 Votes
    1 Posts
    720 Views
    No one has replied
  • md-button text invisible

    4
    0 Votes
    4 Posts
    1k Views
    Jared WiltshireJ
    @nature-go said in md-button text invisible: Now with the <ma-button> only one button (the first one) shows up (had to use the raised="true" for the text to be visible anyway) but it seems to ignore the rest of the lines of code Try adding this to your div to change the AngularJS Material color scheme to white background - md-colors="::{background: 'background-A100'}" @nature-go said in md-button text invisible: ut it seems to ignore the rest of the lines of code in the div, as it does not show the other buttons/content Your markup is invalid, you haven't closed your <ma-button> elements correctly. You need a > after the label attribute.
  • Visualising positions of AGV in a factory

    9
    0 Votes
    9 Posts
    2k Views
    phildunlapP
    Glad to hear it! @fleh said in Visualising positions of AGV in a factory: That's what I used to in the last implementation. But one either has to create a Websocket for each device or transfer all positions every time something changes... Hmm? You can register for any number of point events through a single websocket, so I'm not sure what you mean.
  • Silence events by API

    7
    0 Votes
    7 Posts
    2k Views
    phildunlapP
    The query string is RQL to identify which events to acknowledge. You can make some requests from the events page to acknowledge multiple events and see this endpoint being used in the network tab. Generally yes, it's best to put distinct questions in their own threads. Here's one such post body I saw, eq(alarmLevel,URGENT)&eq(acknowledged,false)
  • Resources available in (email) event handler scripts

    3
    0 Votes
    3 Posts
    1k Views
    I
    Hi Phil, Ahhh thanks! I figured it most have been something I missed. Setting "Script data point read permission" to "superadmin" worked! The /facepalm for me was that I was sure I had it working correctly before. I had created a script to create the handlers as they were going to be applied to a large number of data points (and event detectors). Likely I had missed this value in the script which has lead to some frustration. Whopps. This is the current version of Mango (3.5x). I haven't upgraded to the beta version yet as I usually shy away from these versions. ;) I also am trying to keep my version consistent with a few trials we have in progress until I can upgrade them all. Thanks again, Ian
  • video component codecs

    5
    0 Votes
    5 Posts
    2k Views
    Jared WiltshireJ
    Here's an example user module to get you started - define(['angular', 'require'], function(angular, require) { 'use strict'; const userModule = angular.module('userModule', ['maUiApp']); class VideoComponentController { static get $inject() { return ['$element']; } constructor($element) { this.videoElement = $element[0].querySelector('video'); } $onChanges(changes) { if (changes.pointValue) { this.pointValueChanged(); } } pointValueChanged() { if (this.pointValue) { this.videoElement.play(); } else { this.videoElement.pause(); } } } userModule.component('myVideoComponent', { template: `<video style="height: 100%; width: 100%" muted loop> <source src="/rest/v2/file-stores/default/Interactive SVG Graphics-sm.mp4" type="video/mp4"> </video>`, controller: VideoComponentController, bindings: { pointValue: '<' } }); return userModule; }); // define Use it like this - <div class="ma-designer-root" id="e9dba175-4f00-4a6d-9030-d83f4eb9d0a6" style="width: 1366px; height: 768px; position: relative;"> <my-video-component id="d02bb2e2-78fa-42ae-a287-58c777440a0c" style="position: absolute; left: 30px; top: 50px; width: 744px; height: 345px;" point-value="myPoint.value"></my-video-component> <ma-get-point-value id="7c7525b6-5fe3-4dbf-a2bb-65790be100c0" style="position: absolute; left: 193px; top: 463px;" point-xid="voltage" point="myPoint"></ma-get-point-value> </div>
  • Unable to add meta point as context to itself

    4
    0 Votes
    4 Posts
    1k Views
    phildunlapP
    You can find the button on the data point details page, next to the current value. There is also the /rest/v1/runtime-manager/force-refresh/{xid} REST endpoint (which is what that button is calling). Then there is the RuntimeManager context object in scripts, which also has a function to trigger a refresh of a data point (or even a data source) if supported, like so: RuntimeManager.refreshDataPoint("DP_XID"); //.refreshDataSource("DS_XID")
  • Can I use alphanumeric points for generating tables and/or reports?

    2
    0 Votes
    2 Posts
    839 Views
    MattFoxM
    Possibly if you split/explode the string (alphanumeric point value) by the separators into an array then convert each value to a numeric.... Then you can apply your mathematical analysis...
  • Complete HTTP receiver or HTTP JSON receiver example... anywhere??

    4
    0 Votes
    4 Posts
    1k Views
    MattFoxM
    Thanks Phil, I'll keep these in mind also
  • Filter data before plotting

    3
    0 Votes
    3 Posts
    1k Views
    phildunlapP
    Hi psysak, Here are some resources and previous threads that have some example filters defined in the user module in the UI settings. https://help.infiniteautomation.com/getting-started-with-a-user-module/ https://forum.infiniteautomation.com/topic/3503/how-to-chart-with-data-points-in-the-x-axis-instead-of-time https://forum.infiniteautomation.com/topic/2982/problem-with-assigning-value-using-mypoint-renderedvalue Jared also linked to a lot of AngularJS documentation that may be helpful here: https://forum.infiniteautomation.com/topic/3603/sorting-an-output-array-of-ma-point-statistics
  • Creating list of items from rest response

    8
    0 Votes
    8 Posts
    2k Views
    MattFoxM
    Yep, please let me know how you get on, the feedback is always welcome.
  • Creating files in filestore from Excel post process script

    5
    0 Votes
    5 Posts
    1k Views
    P
    The @phildunlap answer bot, now with automated self debugging
  • Clarify use of variable name on meta data points

    5
    0 Votes
    5 Posts
    1k Views
    phildunlapP
    Hi iperry, In the end the point data wasn't going to help me as I was hoping to get its hierarchical info. Guess I will need to query for that data. You mean the point hierarchy information? You could get this through the DataPointWrapper easily. var dpPath = p.getDataPointWrapper().getPath(); You can also get the point folder id or the data type id from the DataPointVO, var folderId = CONTEXT_POINTS.p.getVO().getPointFolderId(); var dataTypeId = CONTEXT_POINTS.p.getVO().getPointLocator().getDataTypeId(); (The intention was if the setpoint associated to the alarm was set to -1, get the setpoint of the group it's in instead) As far as grouping, I would use tags instead of the point hierarchy. use an RQL query consisting of each of your points, I believe this may give you the nuts and bones data about storage and pointLocator types etc... This may be what you need to leverage that info... This would certainly work if one is more comfortable using the JSON than going through the DataPointQuery object to get a list of DataPointWrapper objects (so if they're enabled, their .getRuntime() method returns what a normal context point is). So, var queriedPoints = DataPointQuery.query(rql); //also has byXid method //Let's just assume there's at least one for this example, and it's enabled, print( queriedPoints[0].getRuntime() ); // should be the same as print(p) if p is a context point
  • Excel post process script error

    14
    0 Votes
    14 Posts
    3k Views
    phildunlapP
    No such eureka! picture exists. If you clone the code into an IDE you can at least view the definition of one or another function with a hotkey like F3, which can let you scoot around the code faster. Generally scripts were intended to get something like the name or other DataPointVO information via the DataPointWrapper in the script documentation, like, p.getDataPointWrapper().getName();
  • No restart flag found, not restarting MA

    10
    0 Votes
    10 Posts
    2k Views
    terrypackerT
    In your first post you provided the output from the command line. It looks like you got a 2112 Bus error when it was executing ma-start.sh at line 142. That leads me to believe there is a hardware problem. I thought perhaps the files in the ext-enabled folder were corrupt or on a bad sector of the HD but that is just a guess.
  • Timeout processing with TCP/IP data source

    5
    0 Votes
    5 Posts
    1k Views
    phildunlapP
    Seeing as how the TCP/IP data source is character oriented, it might make sense to be able to specify a character to be interpreted as end of stream. (like maybe EOT (\004) or something). I agree, I think that's maybe what was in the author of the help document's mind, but doesn't seem to be implemented as such. In fact, I think the delimiter is currently only used to append to all query or set commands. One other related question: Is it possible to make the polling rate faster than once per second? For my application, a faster poll would be better. Yes! If you have updated to the 3.6 beta this would be possible through the new data sources UI, but is possible in previous versions by going through the import / export tools and changing SECONDS to MILLISECONDS