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.

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    5 Views
    No one has replied
  • How To set up email alert level sensor

    4
    0 Votes
    4 Posts
    2k Views
    P
    thank you Jeremy. Great clear instructions. most appreciated
  • How-to FTP files to Mango ES without root password ??

    8
    0 Votes
    8 Posts
    3k Views
    phildunlapP
    Also using the default (without-password as the setting in sshd_config) you can use key authentication, but you'd have to generate a key and add it to the root user's authorized keys.
  • Using http retriever returns java.net.UnknownHostException:

    7
    0 Votes
    7 Posts
    2k Views
    phildunlapP
    Hi Radu, I gave it a shot. I did notice what you're saying if I put 50 in as the group number, but that regex doesn't match anyway. I found 48 got me the last value in the set using (?:.*?temp_c":(\d+[.]\d+).*?){48} 48 matched fairly quickly, and all lower numbers should match faster. It sounds like you're getting each value into its own data point? You could also try something like grabbing the entire string into a regex (regex .* value index 0), and parsing it using a script like.... if(httpForecast.time > scriptRun.time) { var forecast = JSON.parse(httpForecast.value); for( var k = 0; k < forecast.forecast.forecastday.length; k+=1 ) { var day = forecast.forecast.forecastday[k]; for( var i = 0; i < day.hour.length; i += 1 ) { var hour = day.hour*; forecastOutputPoint.set( hour.temp_c, DateTimeUtility.parseDate("yyyy-dd-MM HH:mm", hour.time, "America/Toronto") ); } } scriptRun.set(!scriptRun.value); } Where forecastOutputPoint is a Numeric point log all data on the scripting data source, and scriptRun is a binary point on the scripting data source. If I didn't make any mistakes this should have all the values appear in forecastOutputPoint any time the http gets a new forecast and the script runs to parse it.
  • how-to Render bar-display class chart inside ng-repeat

    2
    0 Votes
    2 Posts
    1k Views
    P
    progress update.. I've figured enough out to get values rendering now however on update interval the ng-repeat portion gets wiped clean.. Anyone have an ideas on what's happening ? code below: <ma-point-query query="{$and: true, deviceName:dvName, name: 'W-LITERS-PER-MIN'}" limit="144" points="wpoints"></ma-point-query> <ma-point-values points="wpoints" values="combined" from="from" to="to" rollup="AVERAGE" rollup-interval="1 minutes"> </ma-point-values> <center><b><h3>Active Units Using Cold & Hot Potable Water</h3></b></center> <md-table-container ng-init="page.tableOrder='deviceName'"> <table md-table=""> <thead md-head="" md-order="page.tableOrder"> <tr> <th md-column=""></th> <!--<th md-column="" md-order-by="deviceName">Hot Water by Unit</th>--> </tr> </thead> <tbody md-body="" ng-init="test = true"> <tr ng-repeat="wpoint in wpoints | orderBy: tableOrder"> <td ng-repeat="value in combined"> <span ng-if= "value['value_' + wpoint.xid] !== 0"> <div class="bar-display" ng-class="{'point-disabled': !wpoint.enabled}"> <div class="bar-display-fill" ng-style="{width: value['value_' + wpoint.xid] / max * 100 + '%'}" style=""></div> <div class="bar-display-text">{{wpoint.name}} : {{value['value_' + wpoint.xid]}}</div> </div> </span> </td> </tr> </tbody> </table> </md-table-container>
  • how to handle missing datapoints

    20
    0 Votes
    20 Posts
    4k Views
    P
    Thanks again Phil. That helped :)
  • How To Copy point data to a scripting point

    11
    0 Votes
    11 Posts
    3k Views
    phildunlapP
    I can't say. I did some testing and while I have to correct some other errors in what I provided you it didn't seem to have any issues that would have caused duplication points. There was an issue with the variable name passed to the interpolation function, though. The updated version of that script is in the other thread.
  • From binary file to target device using Modbus TCP/IP

    2
    0 Votes
    2 Posts
    2k Views
    phildunlapP
    Hi Larry, Can you say more about it? From this little bit, there is an arbitrary binary file that you would like parsed into information to send out to specific modbus points? We solved a similar problem somewhat recently, but we wrote a module for that client that included handling for the file and providing a place to upload it. Without a module like that, there is not a clear way to do what I think you're asking in 2.8. I was inspired to add a Binary type to the Data File data source from this question, though. The data file module has an endpoint in 3.0 to POST a file to and import it immediately, and that sounds like what you're looking for. We're working hard to get 3.0 releases happening soon. You may have other options, though, such as setting an alphanumeric point to some representation of the file and parsing it out of the alphanumeric point, but it doesn't seem so straightforward.
  • Excel reports

    7
    0 Votes
    7 Posts
    3k Views
    L
    Thanks so much Phil I'll give it a try.
  • Datapoint/Excel Report

    11
    0 Votes
    11 Posts
    4k Views
    F
    @phildunlap, Thanks, it works! It does make a difference between small capitals and big capitals. Regards, Felicia
  • How to access Rest API Login Endpoint using VBA

    3
    0 Votes
    3 Posts
    5k Views
    G
    Hi, To add to what phildunlap said, you must include 'application/json' in the accepts header. If basing your code on the question and answers on that stackoverflow page, you would need to add the following line before invoking the send method: objHTTP.setRequestHeader "accept", "application/json" Regards, Gary
  • What is the REST endpoint(s) for "Scheduled Events"

    5
    0 Votes
    5 Posts
    2k Views
    phildunlapP
    Yes! There is! You can use the JSON File Import module to import JSON files from a directory. There is not a way to trigger it, but you can have it poll aggressively. Also, it doesn't provide a lot of feedback. But, it'll import anything that is importable through the emport page. So you just have to scp a JSON file into your import directory.
  • What is Time Zone format in Rest API Call

    2
    0 Votes
    2 Posts
    2k Views
    phildunlapP
    Hi Mok Kiew, Here's a list of the timezones that should work: http://joda-time.sourceforge.net/timezones.html
  • How to implement translation on Mango Automation system

    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • How to embed VBA code in the excel template report

    2
    0 Votes
    2 Posts
    1k Views
    Jared WiltshireJ
    @MOK-KIEW What sort of Excel file are you uploading? Is it a .xls or .xlsm? I believe a xlsm should work.
  • How to start DGlux trial on Mango Free edition?

    2
    0 Votes
    2 Posts
    1k Views
    K
    I am also interested in this. It was noted that you can access it with a front end URL but the URL was not given. I found a URL in a thread or tutorial, but it also didn't work.
  • Best way to export and then import a datasource with its data

    6
    0 Votes
    6 Posts
    3k Views
    phildunlapP
    Were you sent a USB utility with the first ES and have physical access? I would use the USB utility to either change your SSH password or you can use the backup.properties file. Your USB Utility needs the request.properties file it came with, and empty backup.properties file in USB/script-enabled and USB/MangoES and USB/script-available directories. Alternatively you could use the Persistent TCP publisher to sync all the data for the points to another Mango. If I need to move a datasource from one Mango to another, typically I'm moving everything from that Mango, so I just move the whole Mango/databases directory or Mango/databases and a mysqldump if using MySQL
  • Chinese brand PSU_monitoring rs485 and Mango

    63
    0 Votes
    63 Posts
    86k Views
    jeremyhJ
    You can also run: delete from events In Mango's SQL console to flush the events table. Also, this thread is 💯. Great work all.
  • Raspberry Pi (or clone) GPIO into Mango

    4
    0 Votes
    4 Posts
    3k Views
    phildunlapP
    There is not an entirely direct method in the SSH data source for that that I know of. You cannot do output=$(command); export output; then do echo $output; in another data point. I think this is because every point runs it its own channel (not session, but channel). So, you have two options: Make the first point on the data sources query the script and write the value to a file (it could also parse a value if need be). So, python readSensor.py > ~/DHT22-live-data; cat ~/DHT22-live-data | grep -o "Temp1: [0-9]+" | grep -o "[0-9]+" and then every data point below can read the data from that file. It would be nice if we had a way to explicitly order the points in the SSH session. There are probably still potential improvements to be made to the SSH data source. Or... Use point links or meta points to parse out the individual values from the SSH point, which is then just an alphanumeric doing python readSensor.py and you can do regex in the point link or meta point to extract the value, i.e. return /.*Temp1 (\d+) .*/.exec(source.value)[1]
  • USB to RS-485 MODBUS Not Detecting Device

    9
    0 Votes
    9 Posts
    5k Views
    phildunlapP
    A lot of the time that isn't an issue for us, since our MangoES comes with an onboard RS485 port. We have used US Converter's XS890 RS485 converter http://www.usconverters.com/usb-rs485-converter-xs890 And the optically isolated din-rail variant: http://www.usconverters.com/usb-rs485-isolated-converter With great success.