• Recent
    • Tags
    • Popular
    • Register
    • Login

    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 Mango 5 Documentation Website

    Import javascript library

    Scripting general Discussion
    scipting javascript
    3
    98
    86.8k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      arvand.owji @phildunlap
      last edited by

      @phildunlap Thank you. At the moment is not possible for me to increase my memory. I need to get a bit creative here and see how I can go around this and do my calculation. One option i can think of is to create an external webpage (residing on the same server) and have the javascript to run there. I need to be able to pass data and retrieve data from it and I know that XMLHttpRequest is not supported. So instead of using script, i guess i have to use an http receiver data source to call my page url.

      • Is there anyway to simply pass data points to this url? if not, then, within my webpage, i have to connect to the mango database and retrieve the data i need and do the required calculation. Is this even possible?
      • It seems to be much easier to send the data back to Mango. using the above http receiver i can setup data points to capture the returned data from the webpage response

      Am i even on the right track? What other things can i do here? Thanks.

      1 Reply Last reply Reply Quote 0
      • phildunlapP
        phildunlap
        last edited by phildunlap

        What you're talking about is possible, but not especially clean (having something like node.js makes plenty of sense, opening a browser doesn't).

        If you had a webpage open, and it had loaded coolprop and somehow no memory issues occurred in that version despite being the same device opening the webpage (edit: or you're using some other JavaScript engine, or node.js, etc), you could write that webpage to subscribe to a point value web socket (or just poll a data point if you prefer) and then return the computed points as a PUT to /rest/v1/point-values (you can explore the endpoints in swagger, but I suspect you'd want the multiple update endpoint). So, both the retrieval and the return of values should be taken care of in that webpage through the API.

        Other alternatives are figuring out how to prevent it from allocating such a chunk of memory when loaded (but alas I couldn't find a non-minified version of the script), or using another of their libraries and seeing if that works, For instance, you could use the python library on the server, then use the SSH data source when you need to invoke the library.

        A 1 Reply Last reply Reply Quote 0
        • A
          arvand.owji @phildunlap
          last edited by

          @phildunlap said in Import javascript library:

          point value web socket

          Do you have an example of a webpage that interacts with Mango point value using a web socket? Thanks.

          Jared WiltshireJ 1 Reply Last reply Reply Quote 0
          • Jared WiltshireJ
            Jared Wiltshire @arvand.owji
            last edited by

            @arvand.owji
            Lots of the Mango UI pages do this. e.g. Data Point Details or Watch List

            Developer at Radix IoT

            1 Reply Last reply Reply Quote 0
            • A
              arvand.owji
              last edited by

              So i created an internal data source and also added a data point for that data source. Now when i try to edit that data point using MangoAPI.defaultApi.putValue(xid, pvt) (**running on a seperate webpage but on the same server)i get an error that the data point is not settable. inside the DP, all i see for "set permission" is blank, Admin and super admin. How can i set me DP permission to be able to set it from outside? Am i even right to use an internal data source for this purpose? All i need is an arbitrary datapoint that i can be able to set it from outside. Maybe i have to use http data source instead?

              1 Reply Last reply Reply Quote 0
              • phildunlapP
                phildunlap
                last edited by

                Hi Arvand,

                You would rather use a virtual data source for that purpose. The internal data source is for gathering information on how Mango or the system are running.

                A 1 Reply Last reply Reply Quote 0
                • A
                  arvand.owji @phildunlap
                  last edited by

                  @phildunlap said in Import javascript library:

                  Hi Arvand,

                  You would rather use a virtual data source for that purpose. The internal data source is for gathering information on how Mango or the system are running.

                  Thanks and it worked. I can now Get data and then set them in my webpage.
                  Im encountering a new problem now. I created a http data retriever and passed my webpage address as the data source url . I set the update time to 5 minutes and when I save/enable the data source i get the following error:
                  INFO 2017-07-17 14:41:34,313 (com.serotonin.m2m2.rt.RuntimeManager.stopDataSource:383) - Data source 'CoolPropRet' stopped
                  INFO 2017-07-17 14:45:03,419 (com.serotonin.m2m2.rt.RuntimeManager.initializeDataSourceStartup:351) - Data source 'CoolPropRet' initialized
                  INFO 2017-07-17 14:45:03,423 (com.serotonin.m2m2.rt.RuntimeManager.initializeDataSourceStartup:356) - Data source 'CoolPropRet' took 33.553523ms to start
                  ERROR 2017-07-17 14:45:03,424 (com.serotonin.m2m2.web.dwr.util.ExceptionDetectionFilter.doFilter:38) - DWR invocation exception
                  java.lang.IllegalStateException: Timer already cancelled.

                  A 1 Reply Last reply Reply Quote 0
                  • A
                    arvand.owji @arvand.owji
                    last edited by

                    Hi All,
                    Any chance we know why i'm getting the above error? Thanks.

                    1 Reply Last reply Reply Quote 0
                    • phildunlapP
                      phildunlap
                      last edited by

                      Hi Arvand,

                      Off hand I'm not quite sure. Can you possibly share the JSON for the HTTP Retriever data source that you are experiencing this with? Export it from the row in the table of data sources on /data_sources.shtm so that it also exports its points.

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        arvand.owji @phildunlap
                        last edited by

                        @phildunlap said in Import javascript library:

                        Hi Arvand,

                        Off hand I'm not quite sure. Can you possibly share the JSON for the HTTP Retriever data source that you are experiencing this with? Export it from the row in the table of data sources on /data_sources.shtm so that it also exports its points.

                        Maybe im not using the right tool. I wrote a webpage that uses mango api to retrieve bunch of DPs and and then set some DPs. What i'm trying to do is to use the HTTP retriever to act like a cron job and simply send a request to that url every X minutes. I dont really care whats being oasses ot that url or what that url returns. Here is the datasrouce export. I removed the website name from the url but i have validated that the mango box has access to the url (i can ping the host from command prompt.

                        {
                        "dataSources":[
                        {
                        "xid":"DS_608664",
                        "name":"CoolPropRet",
                        "enabled":true,
                        "type":"HTTP_RETRIEVER",
                        "alarmLevels":{
                        "DATA_RETRIEVAL_FAILURE":"URGENT",
                        "POLL_ABORTED":"URGENT",
                        "SET_POINT_FAILURE":"URGENT",
                        "PARSE_EXCEPTION":"URGENT"
                        },
                        "purgeType":"YEARS",
                        "updatePeriodType":"MINUTES",
                        "quantize":false,
                        "retries":2,
                        "setPointUrl":"",
                        "timeoutSeconds":30,
                        "updatePeriods":2,
                        "url":"http://www.MYWEBSITE.COM:85/coolprop4.html",
                        "editPermission":"",
                        "purgeOverride":false,
                        "purgePeriod":1
                        }
                        ],
                        "dataPoints":[
                        ]
                        }

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          arvand.owji @arvand.owji
                          last edited by

                          I also just tried http://192.168.1.125/coolprop4.html as the url and i got the same error.

                          1 Reply Last reply Reply Quote 0
                          • phildunlapP
                            phildunlap
                            last edited by

                            Hmm. Can you try clearing your browser cache (ctrl + shift + delete in Chrome) and deleting your Mango/work/jsp directory, then trying again?

                            A 1 Reply Last reply Reply Quote 0
                            • A
                              arvand.owji @phildunlap
                              last edited by

                              @phildunlap said in Import javascript library:

                              Hmm. Can you try clearing your browser cache (ctrl + shift + delete in Chrome) and deleting your Mango/work/jsp directory, then trying again?

                              ia have bunch of stuff in /opt/mango/work/jsp. is it ok to delete them?

                              1 Reply Last reply Reply Quote 0
                              • phildunlapP
                                phildunlap
                                last edited by

                                Yeah those are compiled JSPs. It will recompile them when the pages are loaded if you delete that.

                                A 1 Reply Last reply Reply Quote 0
                                • A
                                  arvand.owji @phildunlap
                                  last edited by

                                  @phildunlap my permission doesnt let me to delete them. I dont have the SU password. I tried to go another route and see if ican just invoke this from linux command prompt. "curl -ls http://xxxxxxxx". It didnt work and prompt me to try the url in another browser and there i realzied that im getting error "MANGO XHR access failed". It seems im not login and doesnt let me to make any changes (which is a good thing). How can i easily login without going through the REST API. is there anyway to login from MangoAPI jquery?

                                  1 Reply Last reply Reply Quote 0
                                  • phildunlapP
                                    phildunlap
                                    last edited by phildunlap

                                    I think you're looking for this page: https://help.infiniteautomation.com/mango-rest-api-authentication/

                                    If this is an ES you can sudo using the regular user's password to sudo su, you don't need to su root.

                                    A 2 Replies Last reply Reply Quote 0
                                    • A
                                      arvand.owji @phildunlap
                                      last edited by

                                      @phildunlap Thanks. Assuming we get the http get working, do we still need to implement the login or because mango is doignthe request, the authentication is not needed

                                      1 Reply Last reply Reply Quote 0
                                      • A
                                        arvand.owji
                                        last edited by

                                        btw, i delete the folder and i still get the same error. Thanks

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          arvand.owji @phildunlap
                                          last edited by

                                          @phildunlap

                                          @phildunlap said in Import javascript library:

                                          I think you're looking for this page: https://help.infiniteautomation.com/mango-rest-api-authentication/

                                          If this is an ES you can sudo using the regular user's password to sudo su, you don't need to su root.

                                          What will be the request url? I tried to replace the localhost:8080 with my mango box url and im getting page not found error inside mango website when i try it in the browser
                                          http://xxxxxx.com/rest/v2/login

                                          1 Reply Last reply Reply Quote 0
                                          • phildunlapP
                                            phildunlap
                                            last edited by

                                            It should be a POST to /rest/v2/login

                                            What version of Mango and the API do you have installed?

                                            A 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post