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.

Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website

  • What makes the value tag pop up while hovering the cursor over the trends on a watchlist? It doesn't populate on every point/line in the watchlist and not on the same time x-axis value so it pretty much just sporadically blinks as you hover left to right.

    The points being trended are on the same source with the same update rate.


  • Hi sbaik,

    It will pop up all values for the time closest to the cursor that it actually has [a] value[s] for. So, if the points are on the same data source, there's a reasonable chance they'll have exactly the same time stamp (for polling data sources). But, if the data sources are different, it is unlikely the poll will align to the millisecond, and so you'll only have a popup on one or another series in the chart below the watchlist.

    I suspect what's going on is that your points are logging on interval, and that the intervals are slightly misaligned. I think I see how this could happen. I think if you download the data you'll see the timestamps are ever so slightly different.


  • @phildunlap Is there a way to decrease the resolution so that couple of millisecond misalignment does not cause this?


  • If you use a rollup it shouldn't have the issue.

    But, no, there is not a simple way to decrease the time resolution of the data. I did look into why this is happening, and I think it's something we may be able to remedy in the future: https://github.com/infiniteautomation/ma-core-public/issues/1359


  • @phildunlap Roll up as in choose a date and time to look at the value of the point at that time?
    End user is wanting to just hover through the chart and observe the values quickly. It appears to be glitchy to them and was brought to our attention. If the resolution is decreased for the hover view and populate the nearest value of all the points at the time whether it'd be every second or 5, that would be great.

    Thanks,


  • Probably not on the Watchlist page. The JS is webpacked and it would take some hunting. I believe we've solved the underlying issue in 3.6 that caused the timestamps to be so close together. You may be able to restart the data source in question and see it not continue into the future.

    You could do what you're asking with an angular filter in a user module pretty nicely on any of your own dashboards. I used this thread as a starting point: https://forum.infiniteautomation.com/topic/3390/how-to-change-the-time-from-a-timezone-to-mission-time

    And made a filter like,

    define(['angular', 'require'], function(angular, require) {
    'use strict';
    
    var userModule = angular.module('userModule', ['maUiApp']);
    
    userModule.filter('timeRounder', function() {return function(pointValueList, resolutionMs) {
        var res = parseInt(resolutionMs)
        if(typeof pointValueList === 'undefined' || typeof pointValueList.length !== 'number')
            return pointValueList;
        for(var k = 0; k < pointValueList.length; k+=1) {
            pointValueList[k].timestamp = pointValueList[k].timestamp - (pointValueList[k].timestamp%res);
        }
        return pointValueList;
    };
    });
    
    return userModule;
    
    }); // define
    

    And tested it by copying the line chart example into the play area. You'll need to refresh the page to reload the user module (navigating around the menu doesn't force it to reload).

    <div layout="row">
        <md-input-container flex>
            <label>Choose a point</label>
            <ma-point-list limit="200" ng-model="point1"></ma-point-list>
        </md-input-container>
    </div>
    
    <ma-point-values point="point1" values="point1Values" from="dateBar.from" to="dateBar.to" rollup="{{dateBar.rollupType}}" rollup-interval="{{dateBar.rollupIntervals}} {{dateBar.rollupIntervalPeriod}}">
    </ma-point-values>
    
    <ma-serial-chart style="height: 300px; width: 100%" series-1-values="point1Values|timeRounder:60000" series-1-point="point1" legend="true" balloon="true" export="true">
    </ma-serial-chart>
    

    In which I am flooring all timestamps to the 60000 millisecond mark, or 1 minute.


  • I eventually found out what you meant by roll up. Points had default roll up which was none. Now all the trends charts work flawlessly. Just got done with the project and we have happy customers thanks to you guys.

    The quick response to all questions and concerns is great.


  • Glad to hear it!