Announcement

Collapse
No announcement yet.

xapmcsRF - W800 / RFXCOM xAP Node

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

    #31

    Comment


      #32
      It looks like you are in 48 bit mode and this sensor is delivering 80 bits of data. If you are going to use 48 bit mode could you also post the bit stream for an X10 sensor input, and any others that you are using when the RFXCOM is configured for 48 bits. The only thing I currently have implemented in 48 bit mode is the Digimax. In general, this decoding is easy to do once the pattern is observed.

      Comment


        #33
        I can provide either. When I tested mcsxapRF I had it set to 32 bit mode, but the capture above from RFRecevier was in variable mode. It might be a day or two before I have some free time. Thanks.

        Bill

        Comment


          #34
          With V1.4.0 I added the Oregon Scientific Temperature in the 48 bit mode (variable 80 bits). I can add the other OS sensors after we have the logic working for this one and we discuss how info is reported. This sensor is now reported as and xapbsc event each time a reception is received, independent of the value. I did not do anything special for debug data. After the first attempt I should be able to better see what is needed that is not in the current debug log.

          Comment


            #35
            We're getting there... so far it has recognized one temperature sensor of the two in operation (not sure which one at this point). But I am getting these messages (this is from the hub traffic monitor, is there a way to tell mcsXap plug-in to honor these? UPDATE: I figured this out)

            Event.Log
            {
            Time=12/22/2006 9:35:00 AM
            Type=xapmcsW800
            Data=ProcessCommData Line 3830 Invalid procedure call or argument
            }

            Event.Log
            {
            Time=12/22/2006 9:38:00 AM
            Type=xapmcsW800
            Data=ProcessCommData Line 3760 Invalid procedure call or argument
            }

            I've attached some of the IO log from mcsxapRF. During this time period it looks like it only recognized one temperature report, even though I know both sensors are sending about every minute. Also there are X10 and RFXSensor sensors sending data constantly.

            Bill
            Attached Files
            Last edited by bdickhaus; December 22, 2006, 10:01 AM.

            Comment


              #36
              If you enable the debug on the setup then there will also be a .txt file in the \Data folder that should contain some information about the internal logic. This is the most valuable information to understand what is happening.

              Comment


                #37
                The debug was enabled before so I checked and the file is there but it is empty. I tried starting it up again, still empty.

                Bill

                Comment


                  #38
                  These are log entries from startup:

                  12/22/2006 1:27:37 PM ~!~mcs.w800.muad-dib>xapmcsw800~!~using xap port 32770
                  12/22/2006 1:27:44 PM ~!~mcs.w800.muad-dib>xapmcsw800 debug~!~internal timer started
                  12/22/2006 1:27:46 PM ~!~mcs.w800.muad-dib>xapmcsw800~!~w800 comm port 11 opened
                  12/22/2006 1:27:47 PM ~!~mcs.w800.muad-dib>xapmcsw800~!~receiver confirmed 48 bit mode configuration

                  Also, when I bring up the browser I get this error:

                  12/22/2006 1:28:08 PM - mcs.w800.muad-d - equal sign not found on line ini_m

                  Bill

                  Comment


                    #39
                    With V1.4.0 I was not accepting more than 48 bytes. I posted V1.4.1 after simulating your first sensor transmission. I named the device location "inside" for the test and received the following xAP message.

                    The error message is from reading the xapmcsRF.ini file that contains the bogus line "ini_m". Edit and delete the file to remove it and see if it comes back.

                    xap-header
                    {
                    v=12
                    hop=1
                    uid=FF005202
                    class=xapbsc.info
                    source=mcs.W800.MCS5:Inside.RFXCOM____0A4D_1.Temperature
                    }
                    input.state.1
                    {
                    state=ON
                    text=76.8
                    }
                    The starting segment from your posting shows 5 temperature readings. These are the lines that start with 50. All the other data in this segment is not recognizable. For example the line at 09:30:12 indicates that the packet being sent contains 160 bits which is not reasonable.

                    I also picked up what looks to be a 32 bit sequence of "20, DF, A0, 74, 8B" later in the log, but my decode logic does not recognize it as being anything valid. With so much other "junk" comming in I would expect there to be some invalid reports since random patterns will eventually decode as something valid. Bert will have a better understanding, but it seems there may be too much RF that is stepping on each other.

                    09:30:00 | 50, 0A, 4D, 10, 04, 90, 24, 00, 00, 25, 00
                    09:30:00 | 50, 0A, 4D, 10 04, 90, 24, 00, 00, 25, 00
                    09:30:12 | A0, 21, D1, 26, E8
                    09:30:13 | A0, 21
                    09:30:13 | D1, 26, E8
                    09:30:13 | A0, 21, D1, 26, E8
                    09:30:13 | 08, 00, 26, 00
                    09:30:13 | 50, 0A, 4D 10, 0A, 00, 02, 08, 00, 26, 00
                    09:30:30 | 04, 90, 24, 00, 00, 25, 00
                    09:30:30 | 50, 0A, 4D, 10, 04, 90, 24, 00, 00, 25, 00
                    09:30:43 | 0A, 00, 02, 08, 00, 26, 00
                    09:30:43 | 08, 00, 26, 00
                    09:30:45 | A0, 74
                    09:30:45 | 8B, 00, FF
                    09:31:00 | 0A, 4D, 10, 04, 90, 24, 00, 00
                    09:31:00 | 25, 00
                    09:31:00 | 90, 24, 00, 00, 25, 00
                    09:31:13 | 00, 26, 00
                    09:31:13 | 50, 0A, 4D, 10, 0A, 00, 02, 08, 00, 26, 00
                    09:31:16 | 21, D1, 27, 05
                    09:31:17 | A0, 21, D1, 27, 05
                    09:31:17 | A0, 21, D1, 27, 05
                    09:31:17 | A0, 74, 8B, 00, FF

                    Comment


                      #40
                      Michael,

                      If the MSB is on in the first byte it indicates that the packet is received by the slave receiver. Only the lower 7 bits indicate the packet length so a maximum of 127 bits can be received with these receivers.
                      Always mask the first byte with &H7F to get the correct length.

                      Bert

                      Comment


                        #41
                        Thanks Bert.

                        Made the correction to V1.4.2

                        Comment


                          #42
                          I will try it now. I do have some collisions going on because I have so many sensors, so from time to time I expect errors, but that is OK since the X10 motion sensors send multiple instances and the temperature isn't critical if I don't read it every time.

                          Bill

                          Comment


                            #43
                            Still getting that ini_m error, I've attached my ini file, can't see it.

                            Now getting this error:

                            12/22/2006 6:34:36 PM - mcs.w800.muad-d - processcommdata line 530 invalid procedure call or argument

                            And still no debug output.

                            Bill

                            File name is mcsXapW800.ini

                            [W800]
                            AcceptVisonic=False
                            Background=#204060
                            DebounceInterval=1000
                            debuglog=true
                            HideRemoved=False
                            IRSchema=False
                            Mode=1
                            PeriodicScriptInterval=2
                            Rain8EPROMHouseCode=
                            rain8port=11
                            Rain8ProgrammingPort=
                            Rain8Timeout0=
                            Rain8Timeout1=
                            Rain8Timeout2=
                            Rain8Timeout3=
                            Rain8Timeout4=
                            Rain8Timeout5=
                            Rain8Timeout6=
                            Rain8Timeout7=
                            SerialIP=
                            ServerPort=8017
                            ShowEPROM=False
                            ShowInputLinks=False
                            ShowOnlyUsed=False
                            ShowReceiveDetail=False
                            ShowReceiveMessages=False
                            ShowSetup=True
                            StyleSheet=StyleNoBody.css
                            TimerEnable=
                            UID=FF005200
                            [W800UNITS]
                            0A4D_1=0A4D_1~0~~False~<table><tbody><tr><td>[img]/xapmcsW800/motion-off.gif[/img][img]/xapmcsW800/images/sensors/blank1.gif[/img]OFF</td></tr></tbody></table>~12/22/2006 9:30:30 AM~~01~False~True~False~0~~Temperature~False
                            B9=B9~2~~False~<table><tbody><tr><td>[img]/xapmcsW800/motion-on.gif[/img][img]/xapmcsW800/images/sensors/blank1.gif[/img]ON</td></tr></tbody></table>~12/22/2006 10:00:45 AM~~~False~False~False~0~~~False

                            Comment


                              #44
                              There is also an mcsxap.ini file that is used. What I did was add the file path to the error output. I also displayed the received data in the error report from processcommanddata so we can see what data generates the error.

                              Turns out debug output only goes to xap messaegs. I changed it to also go to a text file. I'm also attaching the xap application I use to capture and display the error log. This gives an easy to use real time feedback of data going to the log from all my xap applications. I do not think there is any special setup, but I've been using it so long that I forget if there are any setup requirements.

                              I also went ahead and finished all the Oregon Scientific sensors in Bert's document. The latest is V1.4.3
                              Attached Files

                              Comment


                                #45
                                Nice log watching app, that will come in handy, thanks. Only setup is that it wants a DATA\Xap folder.

                                The ini_m mystery is solved, sort of, the setting was in settings.ini:

                                [hsphone]
                                ini_m

                                I am going to add an = to that line (even though it looks bogus).

                                Only thing in the debug log is this:

                                xapmcsW800 Debug Internal Timer Started 0

                                Here is the other error message:

                                mcs.W800.MUAD-DIB 2006-12-23 07:44:13 | xapmcsW800 | ProcessCommData 20, 74, 8B, 20 Line 530 Invalid procedure call or argument
                                mcs.W800.MUAD-DIB 2006-12-23 07:46:22 | xapmcsW800 | ProcessCommData A0, 00, F0, 1A Line 530 Invalid procedure call or argument
                                mcs.W800.MUAD-DIB 2006-12-23 07:46:32 | xapmcsW800 | ProcessCommData A0, 74, 8B, 00 Line 530 Invalid procedure call or argument
                                mcs.W800.MUAD-DIB 2006-12-23 07:47:32 | xapmcsW800 | ProcessCommData A0, 74, 8B, 00 Line 530 Invalid procedure call or argument

                                And a new one:

                                mcs.W800.MUAD-DIB 2006-12-23 07:44:13 | xapmcsW800 | OregonScientific_Temperature Line 170 Invalid procedure call or argument

                                Bill
                                Last edited by bdickhaus; December 23, 2006, 07:38 AM.

                                Comment

                                Working...
                                X