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.

  • apiv3

    Mango Automation general Discussion
    11
    0 Votes
    11 Posts
    11k Views
    Jdiaz-coJ
    @MattFox thanks for your help, ISO formatted It has worked correctly with the ISO timestamp format.
  • 1 Votes
    1 Posts
    3k Views
    No one has replied
  • Region Time Zone resetting

    Hardware
    3
    0 Votes
    3 Posts
    6k Views
    R
    @MattFox Thanks Mr. Fox
  • Issue with Serial Port Data Source

    User help
    6
    0 Votes
    6 Posts
    2k Views
    E
    @emeinig I got it resolved with a workaround. I'm going to post what I did for posterity and to hopefully help anyone who might come across the same issue in the future. What I ended up doing is creating a scripting data source. The datasource uses Rhino as its scripting engine so you can use some Java in it. With the Java, you can read/write to files and leverage the "Everything is a file" philosophy in *nix systems. The code: // import the file reader var FileReader = java.io.FileReader; var BufferedReader = java.io.BufferedReader; // import the writer. We must use OutputStreamWriter to write to device files var OutputStreamWriter = java.io.OutputStreamWriter; var FileOutputStream = java.io.FileOutputStream; // Be careful because this could change on us depending on how many USB devices // are plugged in var serial_port = "/dev/ttyUSB0"; // Initialize a bunch of blank strings to store measurements var max_time_measurements, temp_and_pressure, wind_attrs, solar_and_precip = new String(); // Set up the writer var file = new FileOutputStream(serial_port); var output = new OutputStreamWriter(file); // Set up the streamer var fr = new FileReader(serial_port); var br = new BufferedReader(fr); // Write the measurement command to the serial port and flush to ensure the // buffer is empty for the next command. output.write("0M!\r\n"); output.flush(); // The sensor takes around 3 seconds to return 9 values, so we sleep for 4 // seconds to give it a generous margin RuntimeManager.sleep(4000); // Now we write our data commands to get it all. output.write("0D0!\r\n"); output.flush(); output.write("0D1!\r\n"); output.flush(); output.write("0D2!\r\n"); output.flush(); output.close(); // readLine will read the return values max_time_measurements = br.readLine(); solar_and_precip = br.readLine(); wind_attrs = br.readLine(); temp_and_pressure = br.readLine(); //split the 0D0! result var solar_and_precip_array = solar_and_precip.split("+"); solarRad.set(solar_and_precip_array[1]); precipitation.set(solar_and_precip_array[2]); lightningStrikes.set(solar_and_precip_array[3]); //split the 0D1! result var wind_attrs_array = wind_attrs.split("+"); windSpeed.set(wind_attrs_array[1]); windDirection.set(wind_attrs_array[2]); gustWindSpeed.set(wind_attrs_array[3]); //split the 0D2! result var temp_and_pressure_array = temp_and_pressure.split("+"); temp.set(temp_and_pressure_array[1]); vaporPressure.set(temp_and_pressure_array[2]); atmosphericPressure.set(temp_and_pressure_array[3]); The code isn't the prettiest or most elegant but it does work. Just make sure you have the necessary variables created as data points and that they're settable and you're all good to go.
  • Help with ideas for how to guide

    User help
    9
    1 Votes
    9 Posts
    5k Views
    joeamiragliaJ
    @tomatopi We are still working on documentation. I know it has been a very slow process but we are adding what we can to the doc sites (v4 and v5) as well as adding scripts to our script-examples in GitHub.
  • 0 Votes
    3 Posts
    2k Views
    R
    @MattFox Thanks Mr. That did the trick.
  • Making a module for alternative url path other than UI

    User help
    6
    0 Votes
    6 Posts
    3k Views
    MattFoxM
    @terrypacker Fantastic, thanks Terry! Looks like I'm on the right track! Thanks I'll give it a go! Fox
  • Mango as NTP Client / DNP Master

    Mango General
    2
    0 Votes
    2 Posts
    5k Views
    MattFoxM
    @harshang-p-trivedi1 have you sorted this? I ask because you mention about ntp, linux already natively supports ntp out of the box as a client. I'd argue if you're using an HTS for any kind of controls, I'd leave it to do that. The less overhead you have, the leaner the system will be and you'll have less issues when issuing controls from mango. Fox
  • 0 Votes
    2 Posts
    5k Views
    terrypackerT
    @gbccccc first you need to define what "new slave is started successfully means". If just binding to the port and waiting for connections is enough then you can assume that if you call the method and a ModbusInitException is thrown then it is not running. Otherwise it is bound to the port and waiting for connections. If you want to know that something is connected you could extend the TcpSlave class like this: public class MonitoredTcpSlave extends TcpSlave { public MonitoredTcpSlave(int port, boolean encapsulated) { super(port, encapsulated); } public boolean hasConnection() { return !listConnections.isEmpty(); } } As a last resort you could create your own TcpSlave by extending com.serotonin.modbus4j.ModbusSlaveSet.ModbusSlaveSet
  • Quest About Restful API

    User help
    2
    0 Votes
    2 Posts
    2k Views
    CraigWebC
    @sean Are you providing a JWT key in the request ?
  • Uploading an Excel for Reports

    How-To
    5
    0 Votes
    5 Posts
    3k Views
    tractorproviderT
    I think you need to install the updated version.
  • Cannot build with maven for custom module

    Mango feedback
    6
    2 Votes
    6 Posts
    3k Views
    MattFoxM
    @MattFox Good news, was able to implement my own proxy server and direct all https traffic through it. Now can get on and finish what I started! Have a great weekend all! Fox
  • Restoring H2 Database into Mango V3

    User help
    7
    0 Votes
    7 Posts
    4k Views
    MattFoxM
    @fishfacs so you don't have noSql then. There should be a pointvalues table in your h2 db that is populated with data then. Fox
  • BACnet4j Schedule

    BACnet4J general discussion
    2
    0 Votes
    2 Posts
    5k Views
    K
    Can someone help me with above ?
  • Bacnet Alarms

    Moved BACnet4J general discussion
    3
    0 Votes
    3 Posts
    6k Views
    terrypackerT
    @Krish1998 it would help if you would be very specific as to what you are try to do and supply some code examples. However you might be able to use a DeviceEventListener See: https://github.com/MangoAutomation/BACnet4J/blob/master/src/main/java/com/serotonin/bacnet4j/event/DeviceEventListener.java And an example use here: https://github.com/MangoAutomation/BACnet4J-samples/blob/master/src/test/java/com/infiniteautomation/bacnet4j/npdu/ip/BacnetIpListenerDiscoveryExample.java
  • Release Notes for mangoApi 4.5.1

    Announcements
    1
    0 Votes
    1 Posts
    3k Views
    No one has replied
  • 3 Votes
    8 Posts
    8k Views
    mumcs01M
    @MrMaxwell We really appreciate the feedback. We had this in the works, and I wanted you to be the first that saw it. We have a fairly comprehensive tutorial on how Pi-Portfolio works now in the Documentation website. We just got it in today. Here is the link to it [https://docs-v4.radixiot.com/pi-portfolio-help]. I certainly hope this helps, as I know it's a fairly prominent feature with lots of options. As to user management, we are working on something. This area of the software changed a ton in v4, and again in v5 however the v5 changes are mostly cosmetic to allow an easier view. Functionally it's the same (even if you click on a user you will notice the same dialog that was in v4 is there). We will work to change the Documentation to reflect the changes in workflow. If there is anything else in the user management section that you feel is off - please let me know and we can look into it. Again - thanks for the feedback here, that's what the forum is for. All the best, Mike.
  • 1 Votes
    13 Posts
    6k Views
    MattFoxM
    @Benoit watchlists are either statically defined, or dynamically with the use of an rql lookup or with tags. Since you're unfamiliar with scripting data sources it may be outside of your capabilities.. What I'd do is: Use a json data store to store a list of data sources, including the total datapoints and datapoints tagged count. Load said json stire and iterate through each datasource whilst doing a lookup with an offset. Each time completing a batch of points, increment the number of points tagged and update the json store file as well to track once all points tagged are equal to the total points available, move on to the next datasource Fox
  • point set timestamp

    User help
    8
    0 Votes
    8 Posts
    4k Views
    seanS
    @CraigWeb mango version is 3.7.12 this datapoint is temperature sensor point so, recorde is normaly 2x °C so 4376.54 and 459.62 is incorrect, so I want to reset value or delete this 2 values in timestamp [PointValueTime(22.6@2023/05/24 13:30:12.836), PointValueTime(4376.54@2023/05/24 13:35:12.836), PointValueTime(459.62@2023/05/24 13:40:12.836), PointValueTime(22.8@2023/05/24 13:45:12.836), PointValueTime(22.886666666666667@2023/05/24 13:50:12.836)] time = 1684906212836 , point= PointValueTime(22.6@2023/05/24 13:30:12.836) time = 1684906512836 , point= PointValueTime(4376.54@2023/05/24 13:35:12.836) time = 1684906812836 , point= PointValueTime(459.62@2023/05/24 13:40:12.836) time = 1684907112836 , point= PointValueTime(22.8@2023/05/24 13:45:12.836) time = 1684907412836 , point= PointValueTime(22.886666666666667@2023/05/24 13:50:12.836)
  • Release Notes for mangoUI 4.5.1

    Announcements
    1
    0 Votes
    1 Posts
    3k Views
    No one has replied