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.

  • Will version 3 import version 2.8.8 point configurations?

    3
    0 Votes
    3 Posts
    1k Views
    Jared WiltshireJ
    Glad you got that figured out @Phillip-Weeks sorry we didn't help you out yesterday.
  • Smoothness Problem Alarm Meaning

    1
    0 Votes
    1 Posts
    681 Views
    No one has replied
  • Problem With Mango

    11
    0 Votes
    11 Posts
    4k Views
    R
    @phildunlap Absolutely, It was my lack of patience :$ Thanks again Phil, Regards
  • Bind a point value directly to a slider

    3
    0 Votes
    3 Posts
    2k Views
    J
    That's what I needed. Thank you so much!
  • Export archive file to csv

    Unsolved
    6
    0 Votes
    6 Posts
    2k Views
    JoelHaggarJ
    I'm not sure if Samba is installed but you could probably install it if isn't.
  • Backup to external directory or drive

    3
    0 Votes
    3 Posts
    1k Views
    M
    If you want to backup to your own devices, you gotta understand that, other than the iDrive, which I just learned about, the backup can only be done to local directory. So, since MangoES runs on Debian, you just have to mount whatever external device to a local directory, and with the Mango GUI, point the backup to that directory. Using this method you can backup to basically anything, since Debian has the ability to mount just about anything. For example, we backup to a NAS share, which we mounted to a local directory using fstab, so it mounts at boot automatically.
  • Downgrade from NoSQL - just delete module?

    5
    0 Votes
    5 Posts
    2k Views
    JoelHaggarJ
    Yes you can delete that folder and the NoSQL files in the /backups folder. You are deleting all the data that is stored in the NoSQL database so be sure you have imported it into H2 :)
  • Ports and Mango 3.0

    1
    0 Votes
    1 Posts
    733 Views
    No one has replied
  • Mango box crash

    20
    0 Votes
    20 Posts
    6k Views
    phildunlapP
    That may be for the best. When I started looking into doing this today I noticed the new BACnet4J was written using Java 8, while the 2.8.x series is limited to requiring Java 7. Also, you might be interested in checking out https://store.infiniteautomation.com/core But we'll have more announcements today.
  • libjSSC-2.8_armsf.so no such a file

    6
    0 Votes
    6 Posts
    3k Views
    phildunlapP
    Googling yeilded this thread: http://stackoverflow.com/questions/22085552/unsatisfied-link-error-runnable-jar-referencing-jssc-library It seems to suggest some people solved their issue by reinstalling java, and one purports to have snagged the armhf.so file out of the jssc jar, placing that into the .jssc/linux/ directory and that solved his problem. To unzip a jar you can: cd Mango/lib; mkdir jssc; cp jssc-* jssc; cd jssc; unzip jssc*; #Files should now be in libs/linux/ if you need to grab them
  • Modbus RTU Low and High Register Information

    4
    0 Votes
    4 Posts
    2k Views
    phildunlapP
    Madness! Okay, well, here'd be my first guess: Create a Modbus data source, Create a data point for register 71 reading a 2 byte unsigned integer, you configuration may look like this: { "dataSources":[ { "xid":"DS_cba83af5-38f8-4830-a07a-daeda155bc5b", "name":"wonky-byte-packing", "enabled":false, "type":"MODBUS_IP", "alarmLevels":{ "POINT_WRITE_EXCEPTION":"URGENT", "POLL_ABORTED":"URGENT", "DATA_SOURCE_EXCEPTION":"URGENT", "POINT_READ_EXCEPTION":"URGENT" }, "purgeType":"YEARS", "updatePeriodType":"SECONDS", "transportType":"TCP", "encapsulated":false, "host":"localhost", "port":502, "contiguousBatches":false, "createSlaveMonitorPoints":false, "discardDataDelay":0, "ioLogFileSizeMBytes":1.0, "logIO":false, "maxHistoricalIOLogs":1, "maxReadBitCount":2000, "maxReadRegisterCount":125, "maxWriteRegisterCount":120, "multipleWritesOnly":false, "quantize":false, "retries":2, "timeout":500, "updatePeriods":20, "editPermission":"", "purgeOverride":false, "purgePeriod":1 } ], "dataPoints":[ { "xid":"DP_00c2c077-a245-4768-aed8-774bb0f7f982", "name":"OccupiedTemps", "enabled":false, "loggingType":"ALL", "intervalLoggingPeriodType":"MINUTES", "intervalLoggingType":"AVERAGE", "purgeType":"YEARS", "pointLocator":{ "range":"HOLDING_REGISTER", "modbusDataType":"TWO_BYTE_INT_UNSIGNED", "writeType":"SETTABLE", "additive":0.0, "bit":0, "charset":"ASCII", "multiplier":1.0, "offset":71, "registerCount":0, "slaveId":1, "slaveMonitor":false }, "eventDetectors":[ ], "plotType":"SPLINE", "rollup":"NONE", "unit":"", "chartColour":"", "chartRenderer":{ "type":"IMAGE", "timePeriodType":"DAYS", "numberOfPeriods":1 }, "dataSourceXid":"DS_cba83af5-38f8-4830-a07a-daeda155bc5b", "defaultCacheSize":1, "deviceName":"wonky-byte-packing", "discardExtremeValues":false, "discardHighLimit":1.7976931348623157E308, "discardLowLimit":-1.7976931348623157E308, "intervalLoggingPeriod":1, "intervalLoggingSampleWindowSize":0, "overrideIntervalLoggingSamples":false, "preventSetExtremeValues":false, "purgeOverride":false, "purgePeriod":1, "readPermission":"", "setExtremeHighLimit":1.7976931348623157E308, "setExtremeLowLimit":-1.7976931348623157E308, "setPermission":"", "textRenderer":{ "type":"ANALOG", "useUnitAsSuffix":true, "unit":"", "renderedUnit":"", "format":"0.00" }, "tolerance":0.0 } ] } Next we'll need a scripting data source and four points, "Set Occupied Heating Setpoint", "Set Occupied Cooling Setpoint", "Occupied Heating Setpoint" and "Occupied Cooling Setpoint". I'll just use their acronyms as variable names. They're all settable numeric. The script body may look like (the modbus point from step 1 will be in the context, let's say variable name "occupiedSetpoints", if( sohs.value != -1 ) { //Someone is trying to set the heating setpoint if( socs.value != -1) { occupiedSetpoints.set( socs.value<<8 | sohs.value ); //we may need to set both sohs.set( -1 ); //Clear it so we don't keep setting too much socs.set( -1 ); } else { occupiedSetpoints.set( ocs.value<<8 | sohs.value ); sohs.set( -1 ); } } else if( socs.value != -1 ) { occupiedSetpoints.set( socs.value<<8 | ohs.value ); socs.set( -1 ); } That whole data source's configuration might look like this: { "dataSources":[ { "xid":"DS_760b73e5-5444-4a8e-9258-48648b093b04", "name":"HandleWonkiness", "enabled":false, "type":"SCRIPTING", "alarmLevels":{ "SCRIPT_ERROR":"URGENT", "DATA_TYPE_ERROR":"URGENT", "POLL_ABORTED":"URGENT", "LOG_ERROR":"URGENT" }, "purgeType":"YEARS", "context":[ { "varName":"occupiedSetpoints", "dataPointXid":"DP_00c2c077-a245-4768-aed8-774bb0f7f982" } ], "logLevel":"NONE", "cronPattern":"0\/1 * * * * ?", "executionDelaySeconds":0, "historicalSetting":false, "script":"if( sohs.value != -1 ) { \/\/Someone is trying to set the heating setpoint\r\n if( socs.value != -1) {\r\n occupiedSetpoints.set( socs.value<<8 | sohs.value ); \/\/we may need to set both\r\n sohs.set( -1 ); \/\/Clear it so we don't keep setting too much\r\n socs.set( -1 );\r\n } else {\r\n occupiedSetpoints.set( ocs.value<<8 | sohs.value );\r\n sohs.set( -1 );\r\n }\r\n} else if( socs.value != -1 ) {\r\n occupiedSetpoints.set( socs.value<<8 | ohs.value );\r\n socs.set( -1 );\r\n}", "scriptPermissions":{ "customPermissions":"", "dataPointReadPermissions":"superadmin", "dataPointSetPermissions":"superadmin", "dataSourcePermissions":"superadmin" }, "editPermission":"", "purgeOverride":false, "purgePeriod":1 } ], "dataPoints":[ { "xid":"DP_1dd39f06-c252-4bf2-bd75-27108ad1812c", "name":"Set Occupied Heating Setpoint", "enabled":true, "loggingType":"ALL", "intervalLoggingPeriodType":"MINUTES", "intervalLoggingType":"AVERAGE", "purgeType":"YEARS", "pointLocator":{ "dataType":"NUMERIC", "settable":true, "varName":"sohs" }, "eventDetectors":[ ], "plotType":"SPLINE", "rollup":"NONE", "unit":"", "templateXid":"Numeric_Default", "chartColour":"", "chartRenderer":{ "type":"IMAGE", "timePeriodType":"DAYS", "numberOfPeriods":1 }, "dataSourceXid":"DS_760b73e5-5444-4a8e-9258-48648b093b04", "defaultCacheSize":1, "deviceName":"HandleWonkiness", "discardExtremeValues":false, "discardHighLimit":1.7976931348623157E308, "discardLowLimit":-1.7976931348623157E308, "intervalLoggingPeriod":1, "intervalLoggingSampleWindowSize":0, "overrideIntervalLoggingSamples":false, "preventSetExtremeValues":false, "purgeOverride":false, "purgePeriod":1, "readPermission":"", "setExtremeHighLimit":1.7976931348623157E308, "setExtremeLowLimit":-1.7976931348623157E308, "setPermission":"", "textRenderer":{ "type":"ANALOG", "useUnitAsSuffix":true, "unit":"", "renderedUnit":"", "format":"0.00" }, "tolerance":0.0 }, { "xid":"DP_b57761e9-ce04-41d2-9ea8-8018eab7ec4e", "name":"Set Occupied Cooling Setpoint", "enabled":true, "loggingType":"ALL", "intervalLoggingPeriodType":"MINUTES", "intervalLoggingType":"AVERAGE", "purgeType":"YEARS", "pointLocator":{ "dataType":"NUMERIC", "settable":true, "varName":"socs" }, "eventDetectors":[ ], "plotType":"SPLINE", "rollup":"NONE", "unit":"", "templateXid":"Numeric_Default", "chartColour":"", "chartRenderer":{ "type":"IMAGE", "timePeriodType":"DAYS", "numberOfPeriods":1 }, "dataSourceXid":"DS_760b73e5-5444-4a8e-9258-48648b093b04", "defaultCacheSize":1, "deviceName":"HandleWonkiness", "discardExtremeValues":false, "discardHighLimit":1.7976931348623157E308, "discardLowLimit":-1.7976931348623157E308, "intervalLoggingPeriod":1, "intervalLoggingSampleWindowSize":0, "overrideIntervalLoggingSamples":false, "preventSetExtremeValues":false, "purgeOverride":false, "purgePeriod":1, "readPermission":"", "setExtremeHighLimit":1.7976931348623157E308, "setExtremeLowLimit":-1.7976931348623157E308, "setPermission":"", "textRenderer":{ "type":"ANALOG", "useUnitAsSuffix":true, "unit":"", "renderedUnit":"", "format":"0.00" }, "tolerance":0.0 }, { "xid":"DP_654eebab-d687-4083-8f09-80a160d9e375", "name":"Occupied Heating Setpoint", "enabled":true, "loggingType":"ALL", "intervalLoggingPeriodType":"MINUTES", "intervalLoggingType":"AVERAGE", "purgeType":"YEARS", "pointLocator":{ "dataType":"NUMERIC", "settable":true, "varName":"ohs" }, "eventDetectors":[ ], "plotType":"SPLINE", "rollup":"NONE", "unit":"", "templateXid":"Numeric_Default", "chartColour":"", "chartRenderer":{ "type":"IMAGE", "timePeriodType":"DAYS", "numberOfPeriods":1 }, "dataSourceXid":"DS_760b73e5-5444-4a8e-9258-48648b093b04", "defaultCacheSize":1, "deviceName":"HandleWonkiness", "discardExtremeValues":false, "discardHighLimit":1.7976931348623157E308, "discardLowLimit":-1.7976931348623157E308, "intervalLoggingPeriod":1, "intervalLoggingSampleWindowSize":0, "overrideIntervalLoggingSamples":false, "preventSetExtremeValues":false, "purgeOverride":false, "purgePeriod":1, "readPermission":"", "setExtremeHighLimit":1.7976931348623157E308, "setExtremeLowLimit":-1.7976931348623157E308, "setPermission":"", "textRenderer":{ "type":"ANALOG", "useUnitAsSuffix":true, "unit":"", "renderedUnit":"", "format":"0.00" }, "tolerance":0.0 }, { "xid":"DP_879c5c66-784c-4d5e-960e-96cda59bb260", "name":"Occupied Cooling Setpoint", "enabled":true, "loggingType":"ALL", "intervalLoggingPeriodType":"MINUTES", "intervalLoggingType":"AVERAGE", "purgeType":"YEARS", "pointLocator":{ "dataType":"NUMERIC", "settable":true, "varName":"ocs" }, "eventDetectors":[ ], "plotType":"SPLINE", "rollup":"NONE", "unit":"", "templateXid":"Numeric_Default", "chartColour":"", "chartRenderer":{ "type":"IMAGE", "timePeriodType":"DAYS", "numberOfPeriods":1 }, "dataSourceXid":"DS_760b73e5-5444-4a8e-9258-48648b093b04", "defaultCacheSize":1, "deviceName":"HandleWonkiness", "discardExtremeValues":false, "discardHighLimit":1.7976931348623157E308, "discardLowLimit":-1.7976931348623157E308, "intervalLoggingPeriod":1, "intervalLoggingSampleWindowSize":0, "overrideIntervalLoggingSamples":false, "preventSetExtremeValues":false, "purgeOverride":false, "purgePeriod":1, "readPermission":"", "setExtremeHighLimit":1.7976931348623157E308, "setExtremeLowLimit":-1.7976931348623157E308, "setPermission":"", "textRenderer":{ "type":"ANALOG", "useUnitAsSuffix":true, "unit":"", "renderedUnit":"", "format":"0.00" }, "tolerance":0.0 } ] } Note that you could use a different value than -1, but most people don't set their A/C values anywhere near freezing so you're probably okay there. And finally we'll need to have some point links from the modbus point to our two points for each of the current setpoints. That means in the point link source point for both links and "Occpied Heating Setpoint" is the target of one (The other is Occupied Cooling Setpoint). One link will have the body, return source.value & 0xFF; the other will be return source.value>>8 & 0xFF; Those may have a configuration like: { "pointLinks":[ { "xid":"PL_eacbf9a9-d919-49f4-88d1-ed59cb19c243", "sourcePointId":"DP_00c2c077-a245-4768-aed8-774bb0f7f982", "targetPointId":"DP_879c5c66-784c-4d5e-960e-96cda59bb260", "event":"CHANGE", "logLevel":"NONE", "disabled":false, "script":"return source.value>>8 & 0xFF;", "scriptPermissions":{ "customPermissions":"", "dataPointReadPermissions":"superadmin", "dataPointSetPermissions":"superadmin", "dataSourcePermissions":"superadmin" }, "writeAnnotation":false }, { "xid":"PL_94a9ac52-4770-4b90-b3a3-a294d60b2d03", "sourcePointId":"DP_00c2c077-a245-4768-aed8-774bb0f7f982", "targetPointId":"DP_654eebab-d687-4083-8f09-80a160d9e375", "event":"CHANGE", "logLevel":"NONE", "disabled":false, "script":"return source.value & 0xFF;", "scriptPermissions":{ "customPermissions":"", "dataPointReadPermissions":"superadmin", "dataPointSetPermissions":"superadmin", "dataSourcePermissions":"superadmin" }, "writeAnnotation":false } ] }
  • help updating 2.5.2 build 6 error

    8
    0 Votes
    8 Posts
    2k Views
    phildunlapP
    Yes if that's the gateway for your network. Sorry to recommend updating... seems like you probably can't at the moment :D. You can find the gateway for your network on windows by typing 'ipconfig' into a command prompt (there will be a line "Default gateway" for the adapter on your computer, if it's the same network. If you need to edit /etc/resolv.conf, you can log in over webmin using HTTPS at port 10000 (https://localip:10000) or you can do SSH ssh -p 2222 mango@localip "echo 'nameserver 192.168.1.249' > /etc/resolv.conf" for putty: putty -P 2222 mango@localip "echo 'nameserver 192.168.1.249' > /etc/resolv.conf" or if necessary you can email support@infiniteautomation.com and we can set up a screenshare.
  • DNP3 doesn't support floats??

    1
    0 Votes
    1 Posts
    882 Views
    No one has replied
  • Message in log "ma-start: no restart flag found, not restarting MA"

    5
    0 Votes
    5 Posts
    3k Views
    P
    My RPI is a testing machine, so I test mango and openhab. I added memory-small.sh with changes You suggested. Tomorrow I will let You know if it help. Thanks
  • More than one BACnet data source

    3
    0 Votes
    3 Posts
    2k Views
    phildunlapP
    It's also possible that you have another tool open on the computer, already bound the port that the local device is trying to bind to (0xBAC0, 47808). In which case none of your data sources on that local device would be working.
  • 0 Votes
    2 Posts
    1k Views
    phildunlapP
    Hi Sabari, I think this could use much, much more detail to be a clear question (or a question at all). As a general rule, if the text in your title and the text in your post are exactly the same, more effort could go into asking the question for effort to be efficiently expended in providing an answer.
  • Issue in passing parameter while change value of Data Point

    Unsolved
    2
    0 Votes
    2 Posts
    944 Views
    phildunlapP
    Hi Sabari, I do not understand your question. Can you try to be more descriptive of what you're doing, or perhaps post pictures of what you're asking about?
  • How do I create event detectors using the Mango API?

    4
    0 Votes
    4 Posts
    2k Views
    G
    Ok, thanks Joel. That's great to know. It sounds like v3 will be a big advance forward for Mango.
  • Bacnet IP throwing errors

    5
    0 Votes
    5 Posts
    2k Views
    J
    Another error we see sometimes: (in this case trying to force a point read) ERROR 2017-02-28 21:22:56,224 (com.serotonin.m2m2.web.dwr.util.ExceptionDetectionFilter.doFilter:38) - DWR invocation exception java.lang.ClassCastException: com.serotonin.bacnet4j.transport.ServiceFutureImpl cannot be cast to com.serotonin.bacnet4j.service.acknowledgement.ReadPropertyAck at com.serotonin.ma.bacnet.BACnetDataSourceRT.forcePointRead(BACnetDataSourceRT.java:373) at com.serotonin.m2m2.rt.RuntimeManager.forcePointRead(RuntimeManager.java:650) at com.serotonin.m2m2.web.dwr.BaseDwr.forcePointRead(BaseDwr.java:278) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34) at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428) at com.serotonin.m2m2.web.dwr.util.TranslationsFilter.doFilter(TranslationsFilter.java:37) at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428) at com.serotonin.m2m2.web.dwr.util.ExceptionDetectionFilter.doFilter(ExceptionDetectionFilter.java:26) at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428) at com.serotonin.m2m2.web.dwr.util.DwrPermissionFilter.doFilter(DwrPermissionFilter.java:45) at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428) at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431) at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283) at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52) at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101) at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83) at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:300) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.springframework.web.filter.ShallowEtagHeaderFilter.doFilterInternal(ShallowEtagHeaderFilter.java:87) at com.serotonin.m2m2.web.filter.MangoShallowEtagHeaderFilter.doFilterInternal(MangoShallowEtagHeaderFilter.java:47) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:499) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:745)
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    1 Views
    No one has replied