Announcement

Collapse
No announcement yet.

xapmcsDatabase xAP Node

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    xapmcsDatabase xAP Node

    xapmcsDatabase is an xAP node that collects xapBSC, weather.report, and xap-x10 schema into an Access or SQL Server database. It is designed as an element of a xAP system that produces sensor data (e,g xapmcs1wire, xapmcsTemp0x, xapmcsWeatherAWS, xapmcsWeatherMSNBC, xapmcsWeatherXML), stores it in a database (xapmcsDatabase), and generates trend charts (xapmcsChart). It does have general purpose application, but it does make some assumptions about the nature of the data to identify discrete vs continuous table structure strategies.

    It has a registration mechanism for which the unlock code can be obtained via Private Message for those that are owners of the mcsTemperature plugin.

    Change Log

    PR1 1.1.22 "R" Reject column added to reduce clutter
    PR2 1.1.22 Some selection data lost with very long device lists
    PR3 1.1.28 Access database path not corrected reported in UNC format
    PR4 1.1.29 No license needed for February
    PR5 1.2.0 Weather.Report data not reported in Schema request
    PR6 1.2.0 V1.3 xAP UID format
    PR7 1.2.6 Store data based upon DisplayText key if present and Text/Level has no decimal
    PR8 1.3.0 Accept formats with only one or two components of subaddress field
    PR9 1.3.11 User option to identify tables/fields by xAP UID rather than subaddress component
    PR10 2.0.0.5 .NET with addition of MySQL and SQLite options
    PR11 2.0.0.6 Organize setup page to reduce scrolling
    PR12 2.0.0.9 Syntax error when writing data to Access database using INSERT INTO as Qx
    PR13 Included xapmcsDatabaseCopy.exe tool to help copy mcsTemperature records to xapmcsDatabase format
    PR14 2.0.0.11 Protect database names by changing special characters to underscores

    Download available at http://mcssprinklers.com/xapmcsDatabase.zip
    V1.3.11 at http://mcssprinklers.com/xapmcsDatabase_V1.zip
    Last edited by Michael McSharry; December 19, 2014, 05:35 PM.

    #2
    MCSDATABASE not logging

    Hi,

    i have instaled McsDatabase, on a separate computer from the one with McsOneWire, i can see Xap messages comming trough the network, but nothing shows in the browser window.

    regards

    bachelet Claude

    Comment


      #3
      Do you have an xap hub running on this second computer?

      Comment


        #4
        XapDatabase

        No, should i ?

        Comment


          #5
          thanks a lot, it works all right with a hub , though i don't really understand why ....

          Comment


            #6
            MCSDATABASE errors

            Hi,

            by the way, happy new year !


            i keep getting errors that McsDataBase sends to Xap :

            <TABLE cellSpacing=2 cellPadding=0 width="100%" border=0><TBODY><TR><TD class=LOGType1 align=left colSpan=3>mcs.database.passerelle>xapmcsdatabase </TD><TD class=LOGEntry1 align=left colSpan=8>log_analog: insert into sensor(sampledate,a36000800b6b47510,ae100000013ad3c28,a62000 00013aa4128,ae8000000a9332a26,ae8000000a9332a26v0,ae8000000a 9332a26@,a2b000801252bc510,a3600000013b0de28,aec0008010912b8 10,ae8000000a9332a26h,a7300000080d7cf28,ada00080125573f10) select #2007-01-01 14:44:20# as qt,1500 as q0,2200 as q1,2200 as q2,1300 as q3,400 as q4,6300 as q5,1800 as q6,1600 as q7,2200 as q8,7900 as q9,2000 as q10,2200 as q11 line 430 syntax error in insert into statement.</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>01/01/2007 14:43:55 </TD><TD class=LOGType0 align=left colSpan=3>mcs.database.passerelle>xapmcsdatabase </TD><TD class=LOGEntry0 align=left colSpan=8>readmessage line 670 syntax error in update statement.</TD></TR><TR><TD class=LOGDateTime1 noWrap align=left>01/01/2007 14:43:17 </TD><TD class=LOGType1 align=left colSpan=3>mcs.database.passerelle>xapmcsdatabase </TD><TD class=LOGEntry1 align=left colSpan=8>log_analog: insert into sensor(sampledate,a36000800b6b47510,ae100000013ad3c28,a62000 00013aa4128,ae8000000a9332a26,ae8000000a9332a26v0,ae8000000a 9332a26@,a2b000801252bc510,a3600000013b0de28,aec0008010912b8 10,ae8000000a9332a26h,a7300000080d7cf28,ada00080125573f10) select #2007-01-01 14:43:20# as qt,1400 as q0,2200 as q1,2200 as q2,1300 as q3,400 as q4,5600 as q5,1800 as q6,1600 as q7,2200 as q8,8000 as q9,2000 as q10,2200 as q11 line 430 syntax error in insert into statement.</TD></TR><TR><TD class=LOGDateTime0 noWrap align=left>01/01/2007 14:43:07 </TD><TD class=LOGType0 align=left colSpan=3>mcs.database.passerelle>xapmcsdatabase </TD><TD class=LOGEntry0 align=left colSpan=8>readmessage line 670 syntax error in update statement.</TD></TR></TBODY></TABLE>

            Comment


              #7
              xapmcsDatabase uses the 2nd and subsequent components of the subaddress of bsc messages to indentify the field name. For example the address "mcs.xyz.abc:name.uniqueid.type.channel" will have a fixed 16 character uniqueid field so the minum size for the database field name will be 16 characters plus the "a" prefix.

              Each name should be 17 or 18 characters long and start with "a" for data collected on a periodic basis. Discrete (event) data goes into individual tables and the table names start with "d" and are 17 or 18 characters.

              When messages are "A"ccepted for storage in the database you need to be certain that the address being accepted is valid. Messages that are ill-formed should be "R"ejected.

              I see that I used the "@" for the type character to identify a sunlight sensor. This apparently is not a valid database name. I'll change it in xapmcs1Wire, but for now just do not accept your sunlight sensor or update to the latest xapmcs1Wire.

              The reason for the hub is that Windows only allows one application to listen to a specific IP port. xAP applications always send their data on port 3639. That means only one application on a PC can listen for data on that LAN port.

              Some xAP developers try to make it easier on the user by sensing if a hub is present and if not then allow their application to reserve port 3639 for its own use. This works OK for a situation where only one xAP application will ever be run on that computer.

              I intentionally allow only a dedicated hub to grab onto 3639. This way an application that starts before the hub will not grab 3639 and then prevent the hub from working

              Comment

              Working...
              X