• 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

    Data Source gone after upgrade to 3.6

    User help
    4
    19
    4.5k
    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.
    • CraigWebC
      CraigWeb
      last edited by

      Hi Thutchis

      Can you confirm that the serial data source was upgraded to 3.6. Go to your modules page and scroll down to the serial data source widget.

      1 Reply Last reply Reply Quote 0
      • Jared WiltshireJ
        Jared Wiltshire
        last edited by

        As Craig says, please check the serial data source module is being loaded. You will also see a log message in your ma.log file indicating if it was / wasn't loaded.

        Developer at Radix IoT

        1 Reply Last reply Reply Quote 0
        • thutchisT
          thutchis
          last edited by

          Modules page shows:
          serial
          Serial Data Source
          Version: 3.6.0
          License: done unrestricted
          Signature: verified_user
          Signed: by store
          Vendor: Infinite Automation Systems Inc.

          I can send the ma.log if you tell me where to send it. There are some error entries. But I can't understand what all it says.

          Craft Malt from the Ground Up

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

            Sure, please send it to support@infiiteautomation.com or paste the relevant errors here in this thread, so that all may benefit. You can have a line of three back ticks (key to the left of the 1 key, ` ) to format it nicely.

            this.isLegible() //true
            
            thutchisT 2 Replies Last reply Reply Quote 0
            • thutchisT
              thutchis @phildunlap
              last edited by

              @phildunlap

              I finally got some time to work on this issue. When I try to delete the "orphaned" datapoint I get the following error in the UI.

              Error deleting data point: Internal Server Error — com.serotonin.ShouldNeverHappenException: java.lang.IllegalArgumentException: Invalid enum value

              What the data source and datapoint function is to receive a serial message from a moisture balance in the lab and email me the result. It worked great for over a year until I upgraded to 3.6.0 and that is when the Data Source disappeared.

              I have tried to recreate both the Data Source and Data Point under different names, using the same regex expression to parse the serial message. So far I don't get anything logged in the data point results.

              I do get the serial message logged in the /opt/mango/log/serialIO-x.log so I know the Mango server is getting the messages.

              Any suggestions on how to trouble-shoot this would be appreciated.

              Craft Malt from the Ground Up

              1 Reply Last reply Reply Quote 0
              • thutchisT
                thutchis @phildunlap
                last edited by

                @phildunlap I am also sending the ma.log to support@infiiteautomation.com.

                Tom

                Craft Malt from the Ground Up

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

                  The error in the log you provided suggests that it was saved with a databits value perhaps not 5, 6, 7, or 8 and that the enum that is now used for that property doesn't contain the value you were using. Do you know its databits setting?

                  If you know its XID (which you could look up by exporting the point or on the SQL console page), you could try setting its databits via JSON import with...

                  {
                     "dataSources":[
                        {
                           "xid":"DS_XID",
                           "dataBits":"DATA_BITS_8"
                        }
                     ]
                  }
                  

                  But, I'm curious to know what it had been set at, since perhaps the enum of allowed data bits settings needs other settings.

                  thutchisT 1 Reply Last reply Reply Quote 0
                  • thutchisT
                    thutchis @phildunlap
                    last edited by

                    @phildunlap I am not familar with the databits parameter. How would I determine that?

                    Craft Malt from the Ground Up

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

                      It should be in any old JSON exports that include that data source.

                      thutchisT 1 Reply Last reply Reply Quote 0
                      • thutchisT
                        thutchis @phildunlap
                        last edited by

                        @phildunlap OK, I get it now. Databits is the serial parameter of the data source. The data source is the problem because it disappeared when I upgraded to Mango 3.6, leaving the data point "orphaned". Do I need to recreate the original data source with the same XID from an old backup?

                        Craft Malt from the Ground Up

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

                          Did importing the JSON I provided (with the data source xid set to the xid of the missing data source) not solve it?

                          I would look up the XID if you don't know it either via the SQL console page in Mango with select xid, name from dataSources; or in an old JSON backup. Then you could try setting its data bits via the JSON import.

                          To maintain the data in the data point if there is data worth maintaining, recreating the data source will create a couple more steps. Let's try to fix it. Another maybe easier way to fix it would be to create a new serial data source with the right settings, then go to the SQL console page (you may need to enable it under edit menu, and have the sql console module installed) and,

                          select id, name from dataSources;
                          -- find the id of the old and new serial data sources
                          update dataSources set data=(select data from dataSources where id=[new id here]) where id=[old id here];
                          

                          And then you should be able to see it on the data sources page, and delete the new serial data source.

                          thutchisT 2 Replies Last reply Reply Quote 0
                          • thutchisT
                            thutchis @phildunlap
                            last edited by

                            @phildunlap said in Data Source gone after upgrade to 3.6:

                            update dataSources set data=(select data from dataSources where id=[new id here]) where id=[old id here];

                            This is the error message get when I submit the SQL Query:

                            update dataSources set data=(select data from dataSources where id=[DS_bf3ed68c-3ced-491a-af92-d228a4ce345c]) where id=[DS_80cdd749-28ad-4612-93d4-cac1ea998a1c];

                            ShouldNeverHappenException: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "UPDATE DATASOURCES SET DATA=(SELECT DATA FROM DATASOURCES WHERE ID=[[*]DS_BF3ED68C-3CED-491A-AF92-D228A4CE345C]) WHERE ID=[DS_80CDD749-28AD-4612-93D4-CAC1EA998A1C]; "; expected "ALL, ANY, SOME"; SQL statement: update dataSources set data=(select data from dataSources where id=[DS_bf3ed68c-3ced-491a-af92-d228a4ce345c]) where id=[DS_80cdd749-28ad-4612-93d4-cac1ea998a1c]; [42001-199]

                            Apparently the SQL syntax is wrong. I am not enough of an SQL expert to find it.

                            Craft Malt from the Ground Up

                            1 Reply Last reply Reply Quote 0
                            • thutchisT
                              thutchis @phildunlap
                              last edited by

                              @phildunlap If I put your SQL statement into the "SQL" update window I get the following error:
                              BadSqlGrammarException: StatementCallback; bad SQL grammar [update dataSources set data=(select data from dataSources where id=[DS_bf3ed68c-3ced-491a-af92-d228a4ce345c]) where id=[DS_80cdd749-28ad-4612-93d4-cac1ea998a1c];]; nested exception is org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "UPDATE DATASOURCES SET DATA=(SELECT DATA FROM DATASOURCES WHERE ID=[[*]DS_BF3ED68C-3CED-491A-AF92-D228A4CE345C]) WHERE ID=[DS_80CDD749-28AD-4612-93D4-CAC1EA998A1C]; "; expected "ALL, ANY, SOME"; SQL statement: update dataSources set data=(select data from dataSources where id=[DS_bf3ed68c-3ced-491a-af92-d228a4ce345c]) where id=[DS_80cdd749-28ad-4612-93d4-cac1ea998a1c]; [42001-199]
                              Press Escape to dismiss. Press Control-"o" to

                              Craft Malt from the Ground Up

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

                                I was intending you to replace the whole square bracket portion with the ID (the number), so

                                select id, name from dataSources;
                                -- find the id of the old and new serial data sources
                                update dataSources set data=(select data from dataSources where id=[new id here]) where id=[old id here];
                                -- example of with some random IDs,
                                update dataSources set data=(select data from dataSources where id=2) where id=1;
                                

                                Come to think of it, I'm not sure where I started using square brackets that way - certainly not coding. I think maybe it was composition, like the [one] example[s] didn't illustrate the right syntax but I'm not sure.

                                thutchisT 1 Reply Last reply Reply Quote 0
                                • thutchisT
                                  thutchis @phildunlap
                                  last edited by

                                  @phildunlap I wondered if that was your intention so I tried leaving out he square brackets, still get errors for some reason.

                                  BadSqlGrammarException: StatementCallback; bad SQL grammar [update dataSources set data=(select data from dataSources where id=DS_bf3ed68c-3ced-491a-af92-d228a4ce345c) where id=DS_80cdd749-28ad-4612-93d4-cac1ea998a1c;]; nested exception is org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "UPDATE DATASOURCES SET DATA=(SELECT DATA FROM DATASOURCES WHERE ID=DS_BF3ED68C-3CED[*]-491A-AF92-D228A4CE345C) WHERE ID=DS_80CDD749-28AD-4612-93D4-CAC1EA998A1C; "; expected "[, ::, *, /, %, +, -, ||, ~, !~, NOT, LIKE, ILIKE, REGEXP, IS, IN, BETWEEN, AND, OR, GROUP, HAVING, WINDOW, QUALIFY, UNION, EXCEPT, MINUS, INTERSECT, ORDER, OFFSET, FETCH, LIMIT, SAMPLE_SIZE, FOR, [, ::, *, /, %, +, -, ||, ~, !~, NOT, LIKE, ILIKE, REGEXP, IS, IN, BETWEEN, AND, OR, ,, )"; SQL statement: update dataSources set data=(select data from dataSources where id=DS_bf3ed68c-3ced-491a-af92-d228a4ce345c) where id=DS_80cdd749-28ad-4612-93d4-cac1ea998a1c; [42001-199]
                                  Press Escape to dismiss. Press Control-"o" to

                                  Craft Malt from the Ground Up

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

                                    That is an XID. Note above the update statement I do another select, but only for the ID and name columns, to find the ID.

                                    XID columns are strings, and could work too, but they need to be inside single quotes to behave as strings.

                                    1 Reply Last reply Reply Quote 0
                                    • thutchisT
                                      thutchis
                                      last edited by

                                      @phildunlap said in Data Source gone after upgrade to 3.6:

                                      select id, name from dataSources;

                                      Sorry, I mixed up "id" and "xid". That worked and I can now see the "disappeared" original serial data source on the data sources page.

                                      This seems to have fixed all the issues I had after upgrading to 3.6.x. No more errors in ma.log, The datapoint is now logging the serial data properly and the event handler is sending me the results again via email.

                                      Thanks so much for your patience, I am not a java or javascript programmer so I really struggle with this.

                                      Craft Malt from the Ground Up

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

                                        Glad we got it figured out!

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