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.

  • Import EnergyData from XML

    19
    0 Votes
    19 Posts
    7k Views
    mircsiczM
    Yeap Phil, I'm aware of that. But with a working basic example like this one I can abstract the rest... THX a ton Philip I reran the import on al 50k XML files and I now have the expected data point's.... I'll now start to adopt for other value type's!!!
  • 0 Votes
    8 Posts
    3k Views
    Jared WiltshireJ
    @phillip-weeks said in Point Details page- how to export and import the extreme sets and rollup with CSV: Thanks Phil, I will get it on the update and test it out. While I got your attention... Is there a way to pass serialchart options into a <ma-watch-list-chart> and affect the serialchart .. like options="{valueAxes:[{minimum:0, strictMinMax: true, axisColor:'black', color:'black', title: 'Liters', titleColor: 'blue', stackType: 'none'}]}" Will this work if I put it inside the <ma-watch-list-chart> tag ? Please post separate issues in separate threads in the correct forum.
  • History Generation Still Running or Finished??

    73
    0 Votes
    73 Posts
    79k Views
    P
    thanks however in 2.8.8 deletePointValuesBetween is coming back as unknown method?? I assume it exits in this version? I would like to replicate the history recalc on our 2.8.8 cloud server. Unless you can suggest an easy method to transfer the regeneration data just completed over the weekend to another mango instance.
  • Removing point values with millisecs >0 in timestamp?

    2
    0 Votes
    2 Posts
    1k Views
    phildunlapP
    Hi Phillip, Hmm. I doubt that's what the original data set looks like. The ones at .000 are the real values? Pretty small set of ways that can happen. Either You are publishing two points to the same receiver with the same XID and so the values are being stored together. You are publishing / saving real time data, while you are logging interval data. The interval logging maybe got off by 5ms due to some unknown delay while calculating its first delay. Then your receiver saved all the real time data and the publisher saved values at the interval log fire time. When a history sync happened, you had the minimum window size of some size, and the mismatch in some period got lots of values sent over with .005 because that's when the interval log task saved them. We could have more information, like, what're the timestamps of the origin point? What is the publish event for the publisher, Update? What sort of logging is done on the source point? I would sooner resync the series than delete every other value. You could purge the point, and then use a second publisher to perform the resync so that you didn't mess with the sync times for the real publisher.
  • Custom data point properties, built into property template

    3
    0 Votes
    3 Posts
    2k Views
    Jared WiltshireJ
    I would agree that the JSON store is probably your best bet at the moment. Store an object where each property is the XID of the data point for easy retrieval. We have also discussed adding some generic JSON data to each data point so that might be an option in the future.
  • connect to Ethernet relay board

    7
    0 Votes
    7 Posts
    3k Views
    phildunlapP
    Thanks for the effort though, CraigWeb! Welcome to the ecosystem! Hi Joe, Interesting use of the TCP/IP data source! What have you gotten working so far? I hadn't used it as an HTTP GET'er before, but it works! I think you're going to need more HTTP in your read command. I would open the developer tools when you request the page in your browser and see the GET request that loads the page. You may need to have some of those headers in your HTTP GET, and you may need the double newline at the end of HTTP messages. For instance, to get the /help.htm page in my data source, I had to supply a Host header in my read command, like, GET /help.htm HTTP/1.1\nHost: localhost\n\n I think you'll also want to adjust your write commands. I didn't seek how write commands are specified in the manual (if you can post the relevant section I can look), but if you send a constant like 1 that will be the only thing sent when the value is set, regardless of what the value is. But, I may be misreading, that may be an l which should turn relay 8 on. The main issue I think you're going to have is setting the values, since that requires particular ASCII characters for turning on or off a relay. I think the easiest way to handle that will be either hard code the logic for what character means on/off for what relay into your interface. Have every toggle on the interface set out the appropriate character to the same point, which is only settable and has the settable command VALUE. If you are comfortable with old Mango pages not having these points be settable, and only opening/closing the relay through an appropriate point, this is a good option. Have a level of indirection for points. This would be a scripting data source or some arrangement of point links that enabled virtual points to receive sets, which can then be translated into the appropriate character and sent to the device, or which the device's response to polling is set into. Similar to 1, create a point link that maps a human input to the appropriate character, then set that out to the device. For instance, set values to a virtual point like "1-ON" and the point link convert that into e and set that out the command point. Then use this virtual point when you need to open or close a relay, and the other point for current relay status. Edit: point link on this one, not meta Given solution 3, you may consider using the HTTP retriever for getting values and only use the TCP/IP data source to send the relay set open/closed character.
  • Map dashboard from MySQl data geofenced

    2
    0 Votes
    2 Posts
    2k Views
    phildunlapP
    Hi mrcardenasp, There is not a way through the API to do a constructed query in the MySQL data source and then return the result set. That's probably a good idea, but for now you'd have to load your data into Mango through the SQL data source on an ongoing basis, then use something like our RQL to restrict the set of points that are making it to the map. I recently helped this person get many values for the same point from their MySQL table into Mango. Maybe it is useful: https://forum.infiniteautomation.com/topic/3115/sql-data-source-query/2
  • Issues Setting up Mango 2.7.x in Eclipse

    5
    0 Votes
    5 Posts
    2k Views
    R
    Actually I have found out that I can use up to version 3.1 - but I can't seem to find any instructions for the later versions?
  • Cannot show Data Point change by configuring Data Source with DNP3

    5
    0 Votes
    5 Posts
    3k Views
    phildunlapP
    Glad you've got it working!
  • V3 Dashboard Designer

    6
    0 Votes
    6 Posts
    3k Views
    Jared WiltshireJ
    @arvand-owji I'm going to recommend a hybrid approach. Use a userModule.js file like this, you can add it from the UI settings page. We are going to add a parent state which you can then nest custom pages inside of. The myApp.home state etc will be nested inside the <div ui-view> element of the myApp state. The "page" that is linked to from the myApp state is the menu, define(['angular', 'require'], function(angular, require) { 'use strict'; var userModule = angular.module('userModule', ['maUiApp']); userModule.config(['maUiMenuProvider', (maUiMenuProvider) => { maUiMenuProvider.registerMenuItems([{ name: 'myApp', url: '/my-app', template: '<ma-ui-page-view xid="d012dd15-0b4e-4539-8e8a-e0235c08411d"></ma-ui-page-view><div ui-view></div>', menuText: 'My app base', //menuHidden: true, abstract: true }]); }]); return userModule; }); // define Menu "page": <div class="ma-designer-root" id="cd40a324-2725-42fa-9778-12255ebb5a62" style="width: 1024px; height: 48px; position: relative;"> <ma-button id="54f9db80-3064-4c61-8db4-59380f86df6e" style="position: absolute; left: 104px; top: 0px;" icon="android" label="Page 1" raised="true" palette="accent" ui-sref="myApp.page1"></ma-button> <ma-button id="7bd73a7c-6923-4e3d-93e2-85c2d4cf3f25" style="position: absolute; left: 0px; top: 0px;" icon="home" label="Home" raised="true" palette="primary" ui-sref="myApp.home"></ma-button> </div> Home page, page 1 etc.. Create pages as desired then add menu icons for them, making sure to choose "My app base" as their parent.
  • MangoEs V3 Ip address Change

    8
    0 Votes
    8 Posts
    4k Views
    JoelHaggarJ
    The easiest way is to click on Data Sources under Adminitration. This will open up the legacy UI and then you can select System Settings from the top menu.
  • Data Source DataFile

    5
    0 Votes
    5 Posts
    3k Views
    phildunlapP
    Something like.... import java.text.SimpleDateFormat; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang3.StringUtils; import com.infiniteautomation.datafilesource.contexts.AbstractCSVDataSource; import com.infiniteautomation.datafilesource.dataimage.NumericImportPoint; public class JergForumCsvQuestion extends AbstractCSVDataSource { private boolean headersConsumed = false; private SimpleDateFormat dtf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); @Override public void importRow(String[] data, int rowNum) { if(data.length == 0) return; Map<String, String> extraParams = new HashMap<>(); String[] rowData = data[0].split(";"); if(rowData.length < 7) //avoid index out of bounds return; try { //subtract the timezone, or you could put it into the date formatter (or add the timezone, //it's not always easy to know if they're saying those times are in UTC-5 or those times are UTC) long time = dtf.parse(rowData[3]).getTime() - 5*60*60*1000; this.parsedPoints.add(new NumericImportPoint("PV Solar kWh", Double.valueOf(rowData[5]), time, extraParams)); this.parsedPoints.add(new NumericImportPoint("PV Solar W/m^2", Double.valueOf(rowData[6]), time, extraParams)); } catch(Exception e) { System.out.println("Exception: " + e.getMessage()); } } }
  • Working with Intellij IDEA.

    3
    0 Votes
    3 Posts
    2k Views
    cbyrneC
    Ah amazing, I'd done exactly that but never switched templates to get it to reload. Wonderful! Thanks Phil.
  • ma-point-values, Multiply values

    Unsolved
    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • New Module development, getting started

    4
    0 Votes
    4 Posts
    2k Views
    phildunlapP
    The BACnet module's source is closed, so you cannot build that yourself. You downloaded the demo of the 3.0 core, so you can grab the BACnet module from 3.0/web/modules/BACnet, you can just move that into your git/ma-core-public/Core/web/modules and it will be loaded when you launch the core. That's where you got the Meta data source. You will from build the pom.xml. Right click on it, run as a maven build. For the settings you need to link to the settings.xml file (which is in the other Maven builds you have defined for Virtual and Serial), the target is 'install' and the profile is 'install-module' (from the settings.xml file). This will create m2m2-YourModuleName-x.x.x.zip in git/ma-core-public/Core/web/modules which will be loaded when you launch Mango. Your module's 'loading' is done by checking which definitions classes (those in the com.serotonin.m2m2.module package) are extended in your module, and using them accordingly.
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    13 Views
    No one has replied
  • Ant build terminates with no messages

    23
    0 Votes
    23 Posts
    18k Views
    phildunlapP
    I have just done this again, new Eclipse workspace on the previously fresh computer. I started by deleting C:\Users\Phillip\.m2 to attempt to get it back to perfectly clean. Then I opened a new Eclipse workspace and cloned the projects from Github. I right clicked on the Core\pom.xml and did a Run As... --> Maven Install. I had to set / add my JDK again in Eclipse, through Window --> Preferences --> Java --> Installed JREs, (as well as the nested "Execution Environment" panel for JavaSE-1.8 and 1.7). Then I got some errors about Jars when running the maven install after setting the JDK. So, I did a Run As... --> Maven Clean on Core\pom.xml. Then I closed Eclipse, then deleted C:\Users\Phillip\.m2\repository. Then opened Eclipse into that workspace again, right clicked on Core\pom.xml, Run As... --> Maven Install ... success! Debug configurations.... Java Application --> New, selected project CoreBundle, did a search for Main classes, com.serotonin.m2m2.Main was right there in the list. Selected that, added the -Dma.home="C:\IA\Instance4\ma-core-public\Core" VM argument and started Mango.
  • Getting things to build (Eclipse-Neon, Maven, Ubuntu)

    2
    0 Votes
    2 Posts
    2k Views
    E
    Looks like a corrupt jar in Maven .... now to the next issue looks like I am missing a library Tests in error: DateUtilsTest.testPreviousMinutes:43 NoClassDefFound org/joda/time/DateTime DateUtilsTest.testPreviousMonths:170 NoClassDefFound org/joda/time/DateTime DateUtilsTest.quickTest:24 NoClassDefFound org/joda/time/DateTime DateUtilsTest.testPreviousHours:74 NoClassDefFound org/joda/time/DateTime DateUtilsTest.testPreviousWeeks:136 NoClassDefFound org/joda/time/DateTime DateUtilsTest.testPreviousYears:201 NoClassDefFound org/joda/time/DateTime Tests run: 6, Failures: 0, Errors: 6, Skipped: 0 [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] Mango Parent ....................................... SUCCESS [ 0.462 s] [INFO] Mango Assembly Descriptors ......................... SUCCESS [ 0.555 s] [INFO] Mango Core ......................................... FAILURE [ 1.329 s] [INFO] Mango Modules ...................................... SKIPPED [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE
  • How to include Mango graphics in my App?

    2
    0 Votes
    2 Posts
    2k Views
    Jared WiltshireJ
    @jefero We don't have an example for integrating the Mango dashboards components into an app, however you should be able to leverage the Angular modules which are in the MA_HOME/web/modules/dashboards/web/js/mango-3.3 folder. I'd suggest looking at the adminTemplate/app.js file to see how to bootstrap the Angular application. The login procedure is cookie based at the moment so its not ideal for integrating into an app. We will be implementing JSON Web Token authentication for the REST API in the next release.
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    6 Views
    No one has replied